sistema de agendamento de consultas em hospitais da rede ... · pdf filegilberto renaldo...

554

Upload: dinhnga

Post on 11-Mar-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

Gilberto Renaldo Laureano, Victor Otávio Peter Keunecke

Sistema de agendamento de consultas em

hospitais da rede pública

Florianópolis � SC2006

Page 2: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

Gilberto Renaldo Laureano, Victor Otávio Peter Keunecke

Sistema de agendamento de consultas em

hospitais da rede pública

Monogra�a apresentada ao programa deBacharelado em Ciências da Computaçãoda Universidade Federal de Santa Catarinacomo requisito parcial para obtenção do grauBacharel em Ciências da Computação

Orientador:Professor Doutor João Bosco Mangueira Sobral

Universidade Federal de Santa CatarinaCentro Tecnológico

Florianópolis � SC2006

Page 3: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

Monogra�a de graduação sob o título Sistema de agendamento de consultas em hos-pitais da rede pública, defendida por Gilberto Renaldo Laureano e Victor Otávio PeterKeunecke e aprovada em 17 de abril de 2006, em Florianópolis, Santa Catarina, pelabanca examinadora constituída por:

Prof. Dr. João Bosco Mangueira SobralOrientador

Prof. Dr. Leandro José KomosinskiUniversidade Federal de Santa Catarina

Clytia Higa TamashiroUniversidade Federal de Santa Catarina

Page 4: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

Resumo

O tempo despendido na �la para a marcação de consultas nos hospitais públicos, asdi�culdades decorrentes do serviço de transporte e todos os problemas que surgem devidoa isso devem ser minimizados da vida cotidiana das pessoas que utilizam o serviço demarcação de consultas nos hospitais da rede pública . O presente projeto contempla aconstrução de um protótipo para minimizar o problema social vivido pela comunidade,em relação à di�culdade de locomoção e tempo despendido na �la para o agendamento desimples atendimentos (consultas) nos hospitais da rede pública da Grande Florianópolis.No sentido de mostrar a viabilidade de se construir um sistema real que integre hospitais,centros de saúde e entidades governamentais, um protótipo que implementa um serviçointegrado de agendamento de consultas é apresentado, utilizando as tecnologias de serviçosWeb, como benefício ao público carente, através de um sistema de baixo custo, utilizandosoftwares de livre utilização.

Page 5: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

Abstract

The queue assembly time to set medical consultations, current di�culties inherentfrom the transportation service and all correlated problems must be minimized for thedaily users of the service at public hospitals. The present project proposes a possiblesolution to minimize the local community social situation, considering the di�culties oflocomotion and time expended in a queue in order to schedule routine appointments at thepublic hospitals in the city of Florianopolis and outskirts. In order to show the viabilityof constructing a real system which integrates hospitals, health governmental centers andentities, it is presented a prototype enabled to perform an integrated schedule service ofconsultations.

Page 6: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

Sumário

Lista de Figuras

Lista de abreviaturas e siglas

1 Introdução p. 131.1 Justi�cativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 141.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14

1.2.1 Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 141.2.2 Especí�cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14

1.3 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14

2 Fundamentação Teórica p. 152.1 Internet e World Wide Web (1) . . . . . . . . . . . . . . . . . . . . . . p. 152.2 Java(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 152.3 Servlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 162.4 JSP (JavaServer Pages) . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17

2.4.1 JavaBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 172.5 XML (Extensible Markup Language) . . . . . . . . . . . . . . . . . . . p. 182.6 SOAP (Simple Object Acess Protocol) . . . . . . . . . . . . . . . . . . p. 182.7 Serviços na Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19

2.7.1 Publicação do Serviço - UDDI (Universal Description, Discovery,and Integration) . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

2.7.2 Descrição do Serviço - WSDL (Web Service Description Language) p. 20

Page 7: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

2.7.3 Mensagens XML . . . . . . . . . . . . . . . . . . . . . . . . . . p. 212.7.4 Serviço de transporte - HTTP (Hypertext Transfer Protocol) . . p. 22

2.8 Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 232.8.1 Eclipse (3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 232.8.2 Apache Tomcat (4) . . . . . . . . . . . . . . . . . . . . . . . . . p. 242.8.3 Apache Axis (5) . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 242.8.4 Apache Struts (6) . . . . . . . . . . . . . . . . . . . . . . . . . . p. 242.8.5 Hibernate (7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 262.8.6 MySql(8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27

3 Sistema Proposto p. 283.1 Levantamento de Requisitos - Casos de Uso . . . . . . . . . . . . . . . p. 283.2 Modelagem e Implementação . . . . . . . . . . . . . . . . . . . . . . . . p. 29

3.2.1 Confrontando Vertentes . . . . . . . . . . . . . . . . . . . . . . p. 303.3 Distribuição dos módulos . . . . . . . . . . . . . . . . . . . . . . . . . . p. 30

3.3.1 Módulo Hospital . . . . . . . . . . . . . . . . . . . . . . . . . . p. 303.3.1.1 Utilizando Hibernate . . . . . . . . . . . . . . . . . . . p. 313.3.1.2 Banco de Dados bdhospital . . . . . . . . . . . . . . . p. 33

3.3.2 Módulo SUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 343.3.2.1 Utilizando Serviços Web . . . . . . . . . . . . . . . . . p. 353.3.2.2 Banco de Dados bdsus . . . . . . . . . . . . . . . . . . p. 37

3.3.3 Módulo de Apresentação . . . . . . . . . . . . . . . . . . . . . . p. 383.3.3.1 Utilizando Struts . . . . . . . . . . . . . . . . . . . . . p. 383.3.3.2 Banco de Dados bdagendador . . . . . . . . . . . . . . p. 39

3.3.4 Considerações do sistema . . . . . . . . . . . . . . . . . . . . . . p. 40

4 Conclusões e trabalhos futuros p. 42

Page 8: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

4.1 Conclusão Final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 424.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 42

Referências p. 43

5 Anexos p. 455.1 Módulo de Apresentação . . . . . . . . . . . . . . . . . . . . . . . . . . p. 45

5.1.1 SistemaAgendador/JavaSource/actions/Gerenciador.java . . . . p. 455.1.2 SistemaAgendador/JavaSource/actions/HospitaisAction.java . . p. 465.1.3 SistemaAgendador/JavaSource/actions/MedicosAction.java . . . p. 485.1.4 SistemaAgendador/JavaSource/actions/PacientesAction.java . . p. 495.1.5 SistemaAgendador/JavaSource/actions/UsuariosAction.java . . p. 515.1.6 SistemaAgendador/JavaSource/actions/UtilitariosAction.java . . p. 525.1.7 SistemaAgendador/JavaSource/bd/hibernate/Banco.java . . . . p. 535.1.8 SistemaAgendador/JavaSource/bd/hibernate/tabelas/Hospitais.java p. 545.1.9 SistemaAgendador/JavaSource/bd/hibernate/tabelas/Usuarios.java p. 565.1.10 SistemaAgendador/JavaSource/beans/Consulta.java . . . . . . . p. 585.1.11 SistemaAgendador/JavaSource/beans/Endereco.java . . . . . . p. 665.1.12 SistemaAgendador/JavaSource/beans/Hospital.java . . . . . . . p. 755.1.13 SistemaAgendador/JavaSource/beans/Medico.java . . . . . . . . p. 775.1.14 SistemaAgendador/JavaSource/beans/Paciente.java . . . . . . . p. 835.1.15 SistemaAgendador/JavaSource/actions/Gerenciador.java . . . . p. 985.1.16 SistemaAgendador/JavaSource/service/Hospital.java . . . . . . p. 1005.1.17 SistemaAgendador/JavaSource/service/HospitalProxy.java . . . p. 1015.1.18 SistemaAgendador/JavaSource/service/HospitalService.java . . p. 1055.1.19 SistemaAgendador/JavaSource/service/HospitalServiceLocator.javap. 1065.1.20 SistemaAgendador/JavaSource/service/HospitalSoapBindingStub.javap. 111

Page 9: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

5.1.21 SistemaAgendador/JavaSource/service/SUS.java . . . . . . . . . p. 1295.1.22 SistemaAgendador/JavaSource/service/SUSProxy.java . . . . . p. 1305.1.23 SistemaAgendador/JavaSource/service/SUSService.java . . . . . p. 1325.1.24 SistemaAgendador/JavaSource/service/SUSServiceLocator.java p. 1335.1.25 SistemaAgendador/JavaSource/service/SUSSoapBindingStub.java p. 1385.1.26 SistemaAgendador/JavaSource/service/TestaServiceHospital.java p. 1475.1.27 SistemaAgendador/JavaSource/service/TestaServiceSUS.java . . p. 1505.1.28 SistemaAgendador/JavaSource/uteis/Constantes.java . . . . . . p. 1525.1.29 SistemaAgendador/JavaSource/uteis/ConversorPaciente.java . . p. 1535.1.30 SistemaAgendador/JavaSource/beans/Hospital.hbm.xml . . . . p. 1645.1.31 SistemaAgendador/JavaSource/beans/Usuario.hbm.xml . . . . . p. 1655.1.32 SistemaAgendador/JavaSource/actions/Gerenciador.java . . . . p. 1665.1.33 SistemaAgendador/WebContent/WEB-INF/struts-con�g.xml . p. 1775.1.34 SistemaAgendador/WebContent/WEB-INF/struts-con�g.xml.bk p. 1815.1.35 SistemaAgendador/WebContent/WEB-INF/struts-html.tld . . . p. 1925.1.36 SistemaAgendador/WebContent/WEB-INF/struts-logic.tld . . . p. 2875.1.37 SistemaAgendador/WebContent/WEB-INF/struts-nested.tld . . p. 3065.1.38 SistemaAgendador/WebContent/WEB-INF/struts-tiles.tld . . . p. 3975.1.39 SistemaAgendador/WebContent/WEB-INF/tiles-defs.xml . . . p. 4075.1.40 SistemaAgendador/WebContent/WEB-INF/validation.xml . . . p. 4095.1.41 SistemaAgendador/WebContent/WEB-INF/validator-rules.xml p. 4115.1.42 SistemaAgendador/WebContent/WEB-INF/web.xml . . . . . . p. 4205.1.43 SistemaAgendador/WebContent/css/Geral.css . . . . . . . . . . p. 4225.1.44 SistemaAgendador/WebContent/jsp/buscarPaciente.jsp . . . . . p. 4265.1.45 SistemaAgendador/WebContent/jsp/cadastraConsulta.jsp . . . p. 4285.1.46 SistemaAgendador/JavaSource/actions/Gerenciador.java . . . . p. 430

Page 10: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

5.1.47 SistemaAgendador/WebContent/jsp/cadastraPaciente.jsp . . . . p. 4325.1.48 SistemaAgendador/WebContent/jsp/cadastraUsuario.jsp . . . . p. 4365.1.49 SistemaAgendador/WebContent/jsp/index.jsp . . . . . . . . . . p. 4385.1.50 SistemaAgendador/JavaSource/actions/Gerenciador.java . . . . p. 4405.1.51 SistemaAgendador/WebContent/jsp/listaPacientes.jsp . . . . . p. 4425.1.52 SistemaAgendador/WebContent/jsp/menu.jsp . . . . . . . . . . p. 4445.1.53 SistemaAgendador/WebContent/jsp/principal.jsp . . . . . . . . p. 4465.1.54 SistemaAgendador/WebContent/jsp/relatorioConsulta.jsp . . . p. 447

5.2 Módulo SUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 4505.2.1 SistemaSUS/JavaSource/bd/hibernate/Banco.java . . . . . . . . p. 4505.2.2 SistemaSUS/JavaSource/bd/hibernate/tabelas/Pacientes.java . p. 4515.2.3 SistemaSUS/JavaSource/beans/Endereco.java . . . . . . . . . . p. 4555.2.4 SistemaSUS/JavaSource/beans/Paciente.java . . . . . . . . . . . p. 4595.2.5 SistemaSUS/JavaSource/service/SUS.java . . . . . . . . . . . . p. 4665.2.6 SistemaSUS/JavaSource/uteis/Constantes.java . . . . . . . . . . p. 4675.2.7 SistemaSUS/WebContent/META-INF/MANIFEST.MF . . . . . p. 4685.2.8 SistemaSUS/WebContent/WEB-INF/SUSService/service/deploy.wsddp. 4685.2.9 SistemaSUS/WebContent/WEB-INF/SUSService/service/undeploy.wsddp. 4695.2.10 SistemaSUS/JavaSource/bd/hibernate/Banco.java . . . . . . . . p. 4695.2.11 SistemaSUS/WebContent/WEB-INF/web.xml . . . . . . . . . . p. 4725.2.12 SistemaSUS/WebContent/wsdl/SUS.wsdl . . . . . . . . . . . . p. 4735.2.13 SistemaSUS/JavaSource/beans/Paciente.hbm.xml . . . . . . . . p. 480

5.3 Módulo Hospital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 4835.3.1 SistemaHospital/JavaSource/bd/hibernate/Banco.java . . . . . p. 4835.3.2 SistemaHospital/JavaSource/bd/hibernate/tabelas/Consultas.java p. 4855.3.3 SistemaHospital/JavaSource/bd/hibernate/tabelas/Medicos.java p. 491

Page 11: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

5.3.4 SistemaHospital/JavaSource/bd/hibernate/tabelas/Pacientes.java p. 4955.3.5 SistemaHospital/JavaSource/beans/Consulta.java . . . . . . . . p. 4975.3.6 SistemaHospital/JavaSource/beans/Endereco.java . . . . . . . . p. 5005.3.7 SistemaHospital/JavaSource/beans/Medico.java . . . . . . . . . p. 5045.3.8 SistemaHospital/JavaSource/beans/Paciente.java . . . . . . . . p. 5065.3.9 SistemaHospital/JavaSource/service/Hospital.java . . . . . . . . p. 5135.3.10 SistemaHospital/JavaSource/uteis/Constantes.java . . . . . . . p. 5155.3.11 SistemaHospital/JavaSource/uteis/Data.java . . . . . . . . . . . p. 5165.3.12 SistemaHospital/WebContent/META-INF/MANIFEST.MF . . p. 5255.3.13 SistemaHospital/WebContent/WEB-INF/HospitalService/service/deploy.wsddp. 5265.3.14 SistemaHospital/WebContent/WEB-INF/HospitalService/service/undeploy.wsddp. 5285.3.15 SistemaHospital/WebContent/WEB-INF/server-con�g.wsdd . . p. 5295.3.16 SistemaHospital/WebContent/WEB-INF/web.xml . . . . . . . . p. 5345.3.17 SistemaHospital/WebContent/wsdl/Hospital.wsdl . . . . . . . . p. 5365.3.18 SistemaHospital/JavaSource/beans/Consulta.hbm.xml . . . . . p. 5515.3.19 SistemaHospital/JavaSource/beans/Medico.hbm.xml . . . . . . p. 5525.3.20 SistemaHospital/JavaSource/beans/Paciente.hbm.xml . . . . . . p. 553

Page 12: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

Lista de Figuras

1 Arquitetura de aplicativo servlet. . . . . . . . . . . . . . . . . . . . . . p. 162 Comunicação em Serviço Web usando SOAP via HTTP. . . . . . . . . p. 183 Processo serviço Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 204 SOAP, UDDI e WSDL em uma interação Web Service. . . . . . . . . . p. 225 Clássico modelo MVC (Model-View-Controller). . . . . . . . . . . . . . p. 256 Arquitetura Modelo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 257 Visão alto nível da arquitetura Hibernate utilizada. . . . . . . . . . . . p. 268 Diagrama entidade relacional do Sistema de Agendamento de Consultas. p. 299 Arquivo de con�guração do Hibernate no módulo Hospital. . . . . . . . p. 3110 Arquivo de mapeamento objeto/relacional para a classe Consulta.java. p. 3211 Método de acesso ao banco de dados utilizando Hibernate. . . . . . . . p. 3312 Modelagem do banco de dados bdhospital. . . . . . . . . . . . . . . . p. 3313 Nome e Localização do serviço no arquivo SUS.wsdl . . . . . . . . . . . p. 3514 Uma das diversas operações publicadas no arquivo SUS.wsdl. . . . . . . p. 3615 Resposta SOAP transmitida via HTTP. . . . . . . . . . . . . . . . . . . p. 3616 Requisição SOAP transmitida via HTTP. . . . . . . . . . . . . . . . . . p. 3717 Cabeçalho HTTP de uma requisição SOAP encapsulada . . . . . . . . p. 3718 Modelagem do banco de dados bdsus. . . . . . . . . . . . . . . . . . . p. 3719 Trecho do arquivo de con�guração do Struts "struts-con�g.xml". . . . . p. 3820 Método da classe destino "PacientesAction.java". . . . . . . . . . . . . p. 3921 Modelagem do banco de dados bdagendador. . . . . . . . . . . . . . . p. 3922 Estrutura utilizada no sistema como um todo. . . . . . . . . . . . . . . p. 40

Page 13: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

Lista de abreviaturas e siglas

WWW - World Wide WebSUS - Sistema Único de Saúde

INSS - Instituto Nacional do Seguro SocialHTTP - Hypertext Transfer Protocol

JSP - JavaServer PagesJVM - Java Virtual Machine

XML - Extensible Markup LanguageW3C - World Wide Web ConsortiumSOAP - Simple Object Acess Protocol

UDDI - Universal Description, Discovery, and IntegrationWSDL - Web Service Description Language

URL - Uniform Resource LocatorHTML - HyperText Markup Language

CSS - Cascading Style SheetsSQL - Structured Query LanguageMVC - Model-View-Controller

SGBD - Sistema Gerenciador de Banco de DadosJDBC - Java Database Connectivity

Page 14: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

13

1 Introdução

As distâncias de várias localidades nos estados brasileiros, para os hospitais públicosnas grandes cidades (muitas vezes as prefeituras do interior dos estados precisam trazeros pacientes de suas cidades para os grandes centros), as di�culdades decorrentes doserviço de transporte nos horários da madrugada (quando os pacientes moram nas própriascidades dos hospitais), o tempo despendido por uma pessoa carente na �la por marcaçãode consulta nos hospitais públicos são fatores que podem ser eliminados, ou ao menos,minimizados da vida cotidiana dos usuários do SUS (Sistema Único de Saúde).

Assim um sistema que implemente um "Serviço Integrado de Agendamento de Con-sultas"pode ser construído e implantado. O sistema buscará integrar os serviços similaresde agendamentos de consultas dos hospitais e o INSS (Instituto Nacional do Seguro So-cial), em benefício do público carente, através de baixo custo �nanceiro, utilizando astecnologias para serviços na Web. Para isso softwares de livre utilização, como os siste-mas operacionais LINUX, as plataformas de serviços para Web e as ferramentas para seconstruir um sistema seguro podem ser utilizados.

O sistema de atendimento proposto é um sistema distribuído entre centros de saúdede um município, as unidades hospitalares públicas e as poli-clínicas do INSS, que sãointegradas através de um rede segura, na internet, utilizando as tecnologias apropriadaspara tal.

Este sistema visa eliminar a �la física de pessoas nos casos sem emergência e torná-lauma �la virtual (no computador, a �la parece existir, mas na realidade não existe).Oshábitos e procedimentos internos aos hospitais não serão alterados. A população de baixarenda será bene�ciada e as portarias de hospitais serão aliviadas, uma vez que os usuáriospodem ir a qualquer centro ou posto de saúde, que deve acessar do sistema, sendo estemanuseado por funcionário do posto, após a orientação de um médico.

Este projeto diz respeito à concepção e modelagem, desenvolvimento e testes da partecomputacional principal, no sentido de se mostrar a viabilidade da implantação do projeto.

Page 15: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

14

1.1 Justi�cativa

O atual processo de agendamento de simples consultas, sendo feito somente coma presença física do usuário nos hospitais públicos, conduz a fatores que di�cultam ecausam transtorno. Tais problemas dizem respeito a passar madrugadas em claro, adi�culdade de locomoção, a espera numa �la com limite do número de pessoas que podemser atendidas, gastando-se um tempo precioso de vida. Na realidade, a marcação de umasimples consulta requer um tempo mínimo do trabalho de um funcionário (por exemplo,5 minutos por pessoa), tempo ín�mo relativo ao que se despende para se locomover eaguardar numa �la.

1.2 Objetivos

Nesta seção são apresentados os objetivos do trabalho proposto.

1.2.1 Geral

Demonstrar e implementar uma possível solução para o problema de �las na marcaçãode consultas nos hospitais públicos e poli-clínicas do INSS.

1.2.2 Especí�cos

• Utilizar as tecnologias de serviços Web.

• Realizar o projeto com baixo custo �nanceiro.

1.3 Estrutura do Trabalho

Este trabalho segue com a explicitação do conjunto de ferramentas e tecnologias rela-cionadas à este projeto. Logo em seguida no capítulo 3 temos uma visão da arquitetura,modelagem e implementação do sistema proposto. Por �m conclusão e proposta de tra-balhos futuros são apresentados.

Page 16: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

15

2 Fundamentação Teórica

A seguir são apresentados algumas ferramentas e tecnologias envolvidas nesse projeto.

2.1 Internet e World Wide Web (1)

Financiada pelo Departamento de Defesa dos EUA, há mais de três décadas, a Inter-net foi inicialmente projetada para conectar os principais sistemas de computadores dasuniversidades e centros de pesquisas americanos. Hoje são milhões de computadores comacesso a essa tecnologia.

Com o advento da World Wide Web (WWW), possibilitou-se aos usuários de compu-tador pesquisar, localizar e visualizar materiais sobre os mais variados assuntos, fazendoa Internet tornar-se um dos principais mecanismos de comunicação do mundo.

A Internet e a World Wide Web irão listar entre as mais importantes invenções da raçahumana. Antes, a grande parte dos aplicativos rodavam em computadores isolados, semcomunicação entre si. Hoje os aplicativos podem ser escritos de maneira a comunicarem-secom centenas de milhares de computadores localizados no mundo.

2.2 Java(2)

Java na atualidade (1), é uma linguagem muito extensa e que está sendo cada vezmais utilizada na Internet como na informática em geral, procurando sempre cobrir asnecessidades tecnológicas mais importantes.

Uma das características marcantes de Java é que é uma linguagem independente daplataforma. Isto signi�ca que ao produzir-se um programa em Java este poderá funcionarem qualquer sistema operacional com suporte a Java. É uma vantagem signi�cativa paraos desenvolvedores de software, pois antes havia a necessidade de compilar um programapara cada sistema operacional, por exemplo Windows, Linux, etc. Java é interessante

Page 17: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

16

para a Internet pois possui uma vasta API que dá suporte para sua utilização, além deexistirem frameworks livres facilitando o desenvolvimento de aplicações.

2.3 Servlets

Servlet (9) surgiu em 1996 introduzida pela Sun Microsystems . São classes Java queestendem os pacotes javax.servlet (o framework básico de Servlet) e javax.servlet.http (ex-tensão do framework Servlet para Servlets que respondem a requisições HTTP(HypertextTransfer Protocol)). Como servlets são escritos em Java e seguem um framework pa-drão, eles proporcionam maneiras de criar so�sticados extensões do servidor, indepen-dentemente do servidor e sistema operacional. Um servlet pode ser automaticamentecarregado e executado em um servidor Web especial. Como se utilizam tanto servletscomo JSP(JavaServer Pages) chamam-se esses servidores de contentor Web ou contentorservlet/JSP. O Tomcat (4) foi o contentor utilizado nesse trabalho.

A seguir a �gura 1 mostrando como os servlets interagem com os clientes através deum modelo solicitação/resposta baseado em HTTP.

Figura 1: Arquitetura de aplicativo servlet.

Servlets e Jsps oferecem, segundo (9), os seguintes benefícios:

• Desempenho. Não há processo de criação para cada solicitação de cliente. Ao invés,cada solicitação é gerenciada pelo processo contentor do servlet. Depois que um ser-vlet termina de processar uma solicitação, ele permanece na memória, aguardandopor outra solicitação.

• Portabilidade. Semelhante a outras tecnologias Java, os aplicativos servlets sãoportáteis. Podem ser movidos sem maiores problemas para outros sistemas opera-cionais.

• Rápido ciclo de desenvolvimento. Têm acesso à rica biblioteca Java, que ajuda noprocesso de desenvolvimento.

Page 18: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

17

• Robustez. São gerenciados pela JVM (Java Virtual Machine). Assim os controlesde memória, resíduos já estão garantidos.

• Aceitação difundida. Numerosos fabricantes trabalham com tecnologias baseadasem Java. Assim pode-se encontrar com certa facilidade componentes que se ajustemas necessidades do desenvolvedor.

2.4 JSP (JavaServer Pages)

JSP é outra tecnologia Java para desenvolvimento de aplicativos Web. Como descritono livro (9), surgiu no momento que a tecnologia de servlet tinha atingido popularidadecomo uma das melhores tecnologias disponíveis. JSP não tem a pretensão de substituirservlet, mas sim é uma extensão dessa tecnologia, e é comum se utilizar ambas as tecno-logias nos mesmos aplicativos Web. Permite, de maneira e�ciente, a criação de páginasdinâmicas. Como o nome implica, JSP utiliza a linguagem de programação Java paracriar esse ambiente dinâmico de exibição de dados. Uma página JSP é usada no lado ser-vidor e é traduzida em um Servlet e compilada após sua primeira invocação. As páginasJSP proporcionam tags que permitem tratar as mais diversas operações dinâmicas sem anecessidade de incluir código java complexo. JSP foi montada tendo como base o servlete necessita deste para trabalhar.

2.4.1 JavaBeans

JavaBeans (10) são componentes de software que são projetados para serem classesreutilizáveis, que uma vez criados podem ser reusados sem modi�cação de código, e emqualquer propósito de aplicação, seja um applet, um servlet ou qualquer outra. Um Beané uma classe Java com determinadas regras. As regras submetidas a uma classe para queela seja uma classe JavaBeans, são as seguintes:

• Possuir um construtor sem argumentos. Java criará automaticamente um construtorsem argumentos para qualquer classe Java que não tenha um construtor;

• Possuir métodos públicos para ajustar o valor de alguma propriedade. São os mé-todos setter. Não retorna nenhum valor e seu nome inicia com "set", seguido pelonome da propriedade.

Page 19: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

18

• Possuir métodos públicos para obter o valor de alguma propriedade. São os métodosgetter. Retorna um valor do mesmo tipo ao da propriedade em questão. O seu nomeinicia com "get" seguido do nome da propriedade.

Os métodos setters e getters são conhecidos como acess methods (métodos de acesso).JavaBeans são exigidos para mapeamento de classes pelo Hibernate (11), utilizados pelaspáginas JSP (12). Além disso, apesar de não ser obrigatório, em Struts (6) facilita atransferência dos atributos obtidos em um request para os beans. Por exemplo em "Be-anUtils.copyProperties(hospital, actionForm);". BeanUtils é uma classe da API JakartaCommons. Percebe-se aí outra vantagem de se utilizar JavaBeans: a possibilidade de seutilizar ferramentas como a API Jakarta Commons.

2.5 XML (Extensible Markup Language)

Desenvolvido (10) a partir de SGML(Standard Generalized Markup Language), é umpadrão largamente aceitável para descrição de dados e criação de linguagens de marca-ção. XML foi de�nido pelo W3C (World Wide Web Consortium) como uma tecnologiade padrão aberto. Assim, por ser uma representação estruturada dos dados, permiteque quaisquer aplicações que entendam XML, troquem dados independente de sistemaoperacional ou linguagem de programação.

2.6 SOAP (Simple Object Acess Protocol)

SOAP é um protocolo leve, para troca de informações em ambientes descentralizadosou distribuídos. É baseado em XML buscando a troca de informações entre computadorese tem como foco principal a chamada remota de procedimentos via HTTP, a opção maispopular para o serviço de transporte.

Na �gura 2 vemos um diagrama da comunicação num Serviço Web usando SOAP viaHTTP.

Figura 2: Comunicação em Serviço Web usando SOAP via HTTP.

Page 20: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

19

SOAP está dividido em três partes:

• Um documento que de�ne a estrutura para descrever o que vem em uma mensageme como sua manipulação deve ser realizada;

• Um conjunto de regras codi�cadas para expressar aplicações de tipos de�nidos;

• Uma convenção para representar as chamadas e respostas remotas de procedimentos.

2.7 Serviços na Web

Os serviços na Web (13) estão fortemente difundidos. Os desenvolvimentos que eramrealizados para aplicações clientes estão migrando para os servidores. É cada vez maiscomum a distribuição de um projeto. Não há mais a necessidade que todo o sistemadesenvolvido esteja contido em um mesmo computador rodando localmente. Além disso ocontexto de trabalhar dinamicamente é de suma importância para o sucesso dos sistemasWeb. Informações devem trafegar pelos mais diversos protocolos e necessitam tambémserem armazenadas em meios seguros para uso futuro. Tendo essa necessidade de setrabalhar dinamicamente com os dados, as páginas, do mesmo modo, devem trabalhardinamicamente. Assim estas páginas e seu contexto são criados assim que uma requisiçãoé feita. Segundo (14) para um serviço na Web ser considerado completo ele deve seguiralguns aspectos:

• Estar disponível na Internet ou em redes privadas;

• Usar um sistema padrão de envio de mensagens XML;

• Não estar atado a nenhum sistema operacional ou linguagem de programação;

• Ser alto descritivo através de uma gramática XML comum;

• Facilmente encontrado via mecanismos simples de busca.

Aproveitar as vantagens que estão associadas aos serviços Web é um dos principaisobjetivos desse projeto. São consideradas vantagens (10) de um sistema Web Service osseguintes pontos:

• Trabalha com padrões abertos, permitindo que componentes escritos em diferenteslinguagens de programação e para diferentes plataformas possam se comunicar;

Page 21: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

20

• Promove uma aproximação da programação em módulos, assim múltiplas organiza-ções podem se comunicar utilizando-se do mesmo Web Service;

• São até certo ponto baratos e fáceis de implementar, devido que se utilizam de umainfra-estrutura já existente para transportar informações.

• Pode ser produzida de maneira crescente e incremental, ao invés de o sistema serum bloco único produzido de uma só vez. Isso diminui os custos de adotar o serviçoWeb e pode diminuir o impacto em uma organização pela troca de alguma tecnologiaenvolvida no sistema.

A �gura 3 demonstra as camadas envolvidas em um serviço Web.

Figura 3: Processo serviço Web.

2.7.1 Publicação do Serviço - UDDI (Universal Description, Dis-covery, and Integration)

UDDI é uma especi�cação técnica para publicar e encontrar serviços Web. É um sis-tema que mantém em repositórios de documentos, os quais descrevem os dados referentesao serviço.

2.7.2 Descrição do Serviço - WSDL (Web Service DescriptionLanguage)

Um dos aspectos relevantes de um serviço Web é ser alto descritivo através de umagramática XML comum. Para isso utiliza-se o WSDL, que descreve o serviço em umprotocolo Web adequado. Representa a camada de descrição do serviço. Assim podemestar inclusos nesse arquivo todas as funções disponíveis, informações dos tipos dos dados

Page 22: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

21

para todas as mensagens XML, trazendo informações do protocolo especí�co de transporteà ser usado e os endereços onde os serviços estão disponibilizados.

Usando o WSDL, um cliente pode localizar o serviço Web e invocar qualquer dasfunções publicadas. Deste modo após localizar o serviço o cliente veri�ca no arquivo dedescrição do serviço qual interface deve utilizar para se comunicar e quais operações estãodisponíveis ou podem ser tratadas pelo serviço Web.

Um arquivo WSDL possui algumas palavras chaves. Cada palavra chave representauma das diversas con�gurações contidas no arquivo. Suas descrições, segundo (14), se-guem abaixo:

• message - Provê a de�nição da mensagem que será comunicada;

• portType - De�ne a interface das operações de serviço que o Web Service suporta;

• operation - Descreve uma ação permitida pelo Web Service. É o "�lho" deportType ;

• type - De�ne os tipos de dados que a mensagem SOAP contém;

• binding - Especi�ca o protocolo pela qual os nodos transportam as mensagens equal o tipo de codi�cação dos dados;

• port - Especi�ca o endereço para um binding em particular. É um sub-elementodo service ;

• service - Especi�ca a atual localização (URL - Uniform Resource Locator) do Ser-viço Web no servidor.

2.7.3 Mensagens XML

XML tem se consolidado nos últimos anos. Essa ascensão é devido ao fato que esteformato permite a diversos sistemas de computadores compartilhar dados facilmente,independentemente do Sistema Operacional ou Linguagem de Programação. Segundo(10) não seria possível implementar um Sistema Web Services sem o uso de XML, poisos arquivos padrões dos Serviços Web - SOAP, WSDL e UDDI, interagindo na �gura 4 -são baseados em XML.

Os passos da interação seguem abaixo:

Page 23: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

22

Figura 4: SOAP, UDDI e WSDL em uma interação Web Service.

1. O cliente chama o registro UDDI para localizar o serviço;

2. O registro aponta ao cliente o documento WSDL;

3. O cliente acessa o documento WSDL;

4. WSDL provê dados para interagir com o serviço;

5. O cliente envia mensagem de requisição SOAP (SOAP request);

6. O serviço Web retorna uma resposta SOAP (SOAP response).

Neste projeto o protocolo utilizado para transporte de dados no formato XML, foio SOAP. Para tanto �zemos uso da plataforma AXIS. O uso de AXIS é importantepara a transmissão de dados em um formato conveniente, aumentando assim a segurançae robustez no transporte de dados, nos diversos momentos onde a comunicação entremódulos é realizada. AXIS é implementação do protocolo SOAP.

2.7.4 Serviço de transporte - HTTP (Hypertext Transfer Proto-col)

Este é um protocolo de solicitação e resposta. É um protocolo que permite aos servi-dores Web e browsers trocarem dados pela Web. O cliente executa uma solicitação, essaé transmitida ao servidor e a resposta retorna ao cliente. Em HTTP é sempre o clienteque inicia uma transação, pois o servidor não está em posição de solicitar algo ao cliente.Desta maneira as conexões HTTP são iniciadas pelo browser do cliente que envia umasolicitação HTTP. HTTP é a opção mais popular para o serviço de transporte. É simples,estável e largamente conhecido.

Page 24: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

23

Ele permite mensagens SOAP serem encapsuladas em mensagens HTTP. Isto facilitaa integração de aplicações remotas. Mas infelizmente como cita (14, CERAMI) istoaumenta o número de concessões que devem ser feitas no aspecto da segurança.

2.8 Ferramentas

Para a implementação desse projeto foram utilizados tecnologias para serviços Web, erealizado com baixo custo �nanceiro, aproveitando-se ao máximo a infra-estrutura já exis-tente da Internet, usando-se para tal, softwares de livre utilização. Seguem as ferramentascom relevância ao projeto :

2.8.1 Eclipse (3)

É um projeto de fonte aberta, focalizado a fornecer uma plataforma extensível dedesenvolvimento e estruturas de aplicação para a construção dos softwares. O Eclipsefornece as ferramentas e as estruturas que medem o ciclo de vida do desenvolvimentodo software, incluindo a sustentação para modelar, ambientes em desenvolvimento emJava, C/C++, além de permitir testar e medir desempenho, realizar aplicações clientes,inteligência de negócio e o desenvolvimento embarcado. Outro fator positivo é a grandevariedade de plugins de auxilio ao desenvolvimento dos mais diversos tipos de projetos.Neste projeto em particular foram utilizados os plugins WST (15) e CVS, já incluído naversão utilizada (eclipse 3.1), facilitando o controle de versões e o desenvolvimento emequipe.

A visão do plugin WST é estender a plataforma Eclipse, dando suporte a construçãode aplicações Web multi-camadas. WST vem a facilitar bastante a vida do programadorna hora de desenvolver um projeto Web Service. Ele possibilita diversas facilidades:

• Desenvolver e publicar páginas HTML(HyperText Markup Language);

• Desenvolver páginas Web baseadas em JavaScript e CSS(Cascading Style Sheets);

• Gerar um applet para um dado server HTTP;

• Desenvolver SQL(Structured Query Language) statements e gerar páginas Web apartir de chamadas à banco de dados;

• Desenvolver XSD e XSLT para XML baseado em páginas Web Services;

Page 25: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

24

• Desenvolver e publicar esquema WSDL em registros UDDI;

• Explorar registros UDDI e dinamicamente testar os serviços Web via WSDL;

• Testar Web Services para compilação WS-I.

2.8.2 Apache Tomcat (4)

É o recipiente de Servlet/JSP (contentor servlet/JSP, chamado antigamente de má-quina servlet no início da tecnologia servlet) que é usado para execução de servlets e dastecnologias de Java Page Servers (JSP). No corrente trabalho foi utilizado Apache Tomcat5.5.x;

2.8.3 Apache Axis (5)

É uma implementação do SOAP (16) ("Protocolo Simples de Acesso ao Objeto")submetido pela W3C (17);

2.8.4 Apache Struts (6)

O objetivo desta ferramenta é prover um "framework" de utilização pública para aconstrução de projetos Web usando JAVA. Struts possui como característica um controle�exível de camadas baseado nas tecnologias padrões como Java Servlets, JSP, JavaBe-ans, XML e os diversos pacotes da Jakarta amplamente utilizadas nesse projeto. Esta éuma ferramenta que disponibiliza um amplo ambiente para o desenvolvimento das apli-cações Web, baseado em padrões de design. O Struts (18), busca aproximar o SistemaDesenvolvido da Arquitetura Modelo 2, uma variação do clássico modelo MVC (Model-View-Controller). Esses dois modelos se diferenciam principalmente na localização naqual o montante de processamento de solicitações ("request") é executado. No modeloclássico, observado na �gura 5, todo o processo de recebimento de solicitações e respostados mesmos aos clientes é realizado pelas páginas JSP.

Já na Arquitetura Modelo 2, observado na �gura 6, trata as solicitações combinando ouso de JSP e servlets. Assim ambas tecnologias são combinadas, utilizando JSP para gerara camada de apresentação e os servlets para executar o intenso processo de solicitações. Énesse momento que os servlets atuam como controlador, �cando responsável por processaros pedidos, a criação dos "Beans" ou objetos utilizados pelas páginas JSP, além de decidir,conforme as ações dos usuários, qual página JSP deve receber a solicitação corrente. Assim

Page 26: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

25

Figura 5: Clássico modelo MVC (Model-View-Controller).

Struts possui seu próprio controlador ("Controller") juntamente com outras tecnologiaspara prover o "Model" e a "View". Para o "Model" Struts pode interagir com tecnologiaspadrões de acesso aos dados, por exemplo JDBC, ou até mesmo fazer uso de outrastecnologias como a utilizada nesse projeto, o Hibernate. Para a "View" Struts trabalhacom JavaServer Pages (JSP), também utilizado nesse projeto.

Figura 6: Arquitetura Modelo 2

Uma aplicação Web utiliza um descritor de distribuição de serviços para inicializar osrecursos como servlets e taglibs. Possui o formato XML e possui o nome "WEB.XML".Struts tem o seu próprio arquivo de con�guração para inicializar seus recursos. Entre elestemos ActionForms para receber as entradas dos usuários, ActionMappings para direcio-nar as ações no lado do servidor e ActionForwards para selecionar as páginas utilizadaspara interação com os usuários.

Page 27: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

26

Optou-se por utilizar o Struts devido toda as facilidades que ele proporciona paratrabalhar com grande número de páginas que estão constantemente sofrendo ações porparte dos usuários que tem acessos a elas.

2.8.5 Hibernate (7)

É uma poderosa ferramenta de persistência objeto/relacional e execução de querysem JAVA. Permite utilizar as vantagens da programação orientada a objetos, como porexemplo associação, herança, polimor�smo e composição. Fica entre o aplicativo e obanco de dados relacional, deixando o desenvolvedor livre para o problema de negócioem suas mãos. Facilita assim a implantação do projeto Web Services multi-camadas.Além disso facilita a troca do Sistema Gerenciador de Banco de Dados (SGBD),desde quealgumas regras sejam seguidas, como não utilizar chamadas SQL nativa ou outro recursonão suportado pelo SGBD substituto. Há um arquivo de con�guração que permite a trocadas propriedades do sistema de persistência utilizado. Esse arquivo possui a con�guraçãodo driver de conexão, o dialeto do SGBD, mapeamento de tabelas, entre outros. Todasas especi�cações dessa ferramenta podem ser encontradas em (11);

Figura 7: Visão alto nível da arquitetura Hibernate utilizada.

Este diagrama (�gura 7) mostra o Hibernate acessando o banco de dados e os arquivosde mapeamento (con�guração) para prover serviços de persistência (e objetos persistentes)para a aplicação.

Page 28: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

27

2.8.6 MySql(8)

Desenvolve e disponibiliza no mercado um conjunto de ferramentas, de desempe-nho elevado, de base de dados. A versão utilizada nesse projeto foi MySQL 4.1.11-Debian_4sarge2-log. Para acesso cliente ao MySql utilizamos phpMyAdmin (19) versão2.6.2. Além disso, foi utilizado JDBC (20) (Java Database Connectivity (21)). Assim épossível o uso de declarações SQL, sendo possível a utilização de vários tipos de banco dedados.

Page 29: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

28

3 Sistema Proposto

Este capítulo apresenta o sistema proposto e como este foi realizado. Consciente de queo sistema atual de marcação de consulta apresenta alguns problemas como centralizaçãodo serviço, ocasionando �las, propõe-se reformulá-lo. Esse projeto tem como principalobjetivo descentralizar a marcação de consultas dos Hospitais. Busca possibilitar que oagendamento de consultas seja feito de outras localidades além do próprio hospital, bemcomo permitir que de um mesmo local se possa agendar consultas em um conjunto dehospitais mais abrangente e disponibilizar mais informações aos pacientes.

A construção do sistema consiste em três etapas:

• Levantamento de Requisitos: Levantamento das necessidades, para a construção deum sistema que venha minimizar os problemas existentes.

• Modelagem: Interpretação dos requisitos levantados, bem como sua tradução emespeci�cações do sistema.

• Implementação: Conversão das especi�cações do sistema em código.

3.1 Levantamento de Requisitos - Casos de Uso

• Marcar consultas: Agendar uma consulta disponível para um paciente. Requisitos:consulta disponível, paciente cadastrado.

• Desmarcar consultas: Desmarcar uma consulta previamente agendada, tornando-adisponível novamente. Após obter uma consulta agendada o usuário tem a opçãode excluí-la. Requisitos: consulta previamente agendada.

• Veri�car consultas disponíveis: Veri�car as consultas disponíveis para agendamentoem um determinado hospital, para determinado médico ou especialidade. Requisi-tos: CRM do médico para pesquisas por médico, especialidade para pesquisas porespecialidade, hospital.

Page 30: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

29

• Pesquisar por médicos: Veri�car os médicos que trabalham em determinado hospital,por nome ou especialidade. Requisitos: nome parcial ou especialidade do médico;hospital

• Pesquisar por consultas: Veri�car as consultas agendadas para um paciente ou mé-dico especi�co. Requisitos: número de inscrição do paciente para pesquisa porpaciente, CRM do médico para pesquisa por médico.

• Cadastrar hospitais: Cadastrar hospital para futura marcação de consultas. Requi-sitos: nome, endereço.

• Cadastrar pacientes: Cadastrar paciente possibilitando que este marque consultas.Requisitos: nome, rua, número, complemento, bairro, cidade, estado, pai, mãe,cônjuge, empresa, nacionalidade, naturalidade, estado civil, nascimento, sexo.

• Cadastrar usuários: Cadastrar usuário responsável pela manipulação do sistema.Requisitos: nome, endereço, telefone.

3.2 Modelagem e Implementação

Seguindo o levantamento de requisitos foram identi�cados as entidades e relaciona-mentos observados na �gura 8. Os médicos atendem nos hospitais e esta associaçãopermite que consultas sejam marcadas pelos usuários para os pacientes cadastrados.

Figura 8: Diagrama entidade relacional do Sistema de Agendamento de Consultas.

Page 31: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

30

Após levantados os requisitos surgiram duas vertentes principais para a arquiteturado sistema. Na primeira vertente teria-se uma con�guração centralizada, onde o Sistemarodaria completamente no servidor. Na segunda o sistema seria composto de módulosdistribuídos (modular) entre o servidor e os hospitais.

3.2.1 Confrontando Vertentes

• Na con�guração modular há a possibilidade de se reaproveitar parte do sistemaatual, tais como bancos de dados e servidores. O aproveitamento em um sistemacentralizado será muito menor.

• Em contrapartida um sistema centralizado seria mais rápido, uma vez que, todo osistema estaria local e não se teria o trafego da rede.

• Na con�guração modular a inserção de novos hospitais é facilitada uma vez quecon�guram um módulo separado com baixo acoplamento ao sistema como um todo.

Analisando essas duas possibilidades chegou-se a conclusão de que a con�guraçãomodular se enquadrava melhor à proposta de descentralizar e foi a utilizada nesse trabalho.

3.3 Distribuição dos módulos

Neste tópico iremos apresentar como foi dividido o sistema. O sistema possui 3(três)módulos. São eles:

• Módulo Hospital - Responsável pelos casos de uso referentes as consultas e médicos;

• Módulo de Apresentação - Responsável pela redirecionamento das requisições aosistema;

• Módulo SUS - Responsável pelos casos de uso referentes aos pacientes;

3.3.1 Módulo Hospital

O módulo Hospital tem como missão a gestão de todas as consultas e médicos. Ficaa cargo de cada hospital como esse controle será feito, pois sua interligação é realizadacomo um serviço Web. Para mostrar a viabilidade do sistema foi implementado umserviço Web e vários hospitais �ctícios. Para cada hospital foi criado um banco de dados

Page 32: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

31

com suas respectivas informações. Por se tratar de um sistema modular a inserção denovos hospitais é altamente facilitada, exigindo apenas que cada hospital implemente oseu serviço Web.

3.3.1.1 Utilizando Hibernate

O uso desta ferramenta é vasto. Para demonstrar um pouco do uso dessa ferramenta,tomou-se como base o módulo Hospital. Ele possui as seguintes classes JavaBeans paraserem mapeados através do Hibernate: Consulta.java, Medico.java e Paciente.java. Temosabaixo o arquivo de con�guração do Hibernate no módulo Hospital (�gura 9) com asseguintes con�gurações:

Figura 9: Arquivo de con�guração do Hibernate no módulo Hospital.

• Driver de conexão - com.mysql.jdbc.Driver

• O "dialeto" utilizado para comunicar-se com o banco - org.hibernate.dialect.MySQLDialect

• O endereço (URL) do banco - jdbc:mysql://localhost:3306/bdhospital

• Número de conexões iniciais - 5

• Login para conexão ao banco - tcc

• Senha para conexão ao banco - tcc

Page 33: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

32

• Indicação dos arquivos responsáveis pelo mapeamento objeto/relacional para as clas-ses Paciente.java, Consulta.java e Medico.java .

<mapping resource="beans/Paciente.hbm.xml"/><mapping resource="beans/Consulta.hbm.xml"/><mapping resource="beans/Medico.hbm.xml"/>

A seguir a �gura 10 de um dos mapeamentos objeto/relacional para a classe Con-sulta.java e o banco de dados "bdhospital", onde são mapeadas as propriedades id, data,hora, paciente, medico da classe JavaBeans para as colunas "ID","DATA","HORA","PACIENTE"e "MEDICO" da tabela "CONSULTAS".

Figura 10: Arquivo de mapeamento objeto/relacional para a classe Consulta.java.

O mesmo esquema de mapeamento é feito para os outros módulos e seus respecti-vos bancos de dados. Agora iremos explicitar um método de acesso ao banco de dados"bdhospital" utilizando hibernate no módulo Hospital.

Abaixo um rápida explicação do itens encontrados na �gura 11:

• session - objeto de vida curta representando a comunicação entre a aplicação e osdados persistentes;

• transaction - objeto de vida curta representando uma transação;

• session.get(Consulta.class, consulta) - busca a classe consulta no banco a partir doidenti�cador consulta;

Page 34: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

33

Figura 11: Método de acesso ao banco de dados utilizando Hibernate.

• setPaciente(paciente) - setando o paciente que terá consulta marcada;

• session.saveOrUpdate(paciente) - salvando o paciente no banco de dados;

• transaction.commit() - comitando a transação;

• session.close() - fechando a sessão;

Segue a representação do banco de dados bdhospital.

3.3.1.2 Banco de Dados bdhospital

O banco de dados bdhospital é composto por três tabelas: CONSULTAS, MEDI-COS e PACIENTES. A tabela CONSULTAS se relaciona com as tabelas MEDICOS ePACIENTES. Cada Hospital irá possuir um banco de dados próprio com suas consultas,médicos e, caso considere adequado, os pacientes com consulta marcada. A �gura 12representa o banco.

Figura 12: Modelagem do banco de dados bdhospital.

Page 35: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

34

3.3.2 Módulo SUS

A idéia do módulo SUS surgiu do problema de onde seriam armazenados os dados dospacientes. Duas possibilidades foram levantadas:

• Caso 1 - Os dados poderiam ser mantidos em cada hospital, nos quais os pacientespossuissem consulta.

• Caso 2 - Os dados dos pacientes poderiam ser mantidos em um banco de dadosúnico.

Alguns pontos requerem uma análise para escolha adequada da melhor opção:

• RedundânciaCaso 1 - No caso de pacientes possuírem consultas em mais de um hospital seus

dados estariam replicados em mais de um banco de dados.Caso 2 - Não há redundância, pois o cadastro é único.

• SincroniaCaso 1 - Ao modi�car seus dados em um dos hospitais em que esteja cadastrado

estes �cariam diferentes dos dados presentes nos outros hospitais.Caso 2 - Não há problema de sincronia, pois o cadastro é único.

• Trafego de RedeCaso 1 - Para corrigir o problema de sincronia é gerado muito tráfego de rede,

pois os dados devem ser enviados a todos os hospitais para correta atualização.Caso 2 - O trafego de rede é menor, pois os dados estão localizados em apenas

um local.

• Novo cadastroCaso 1 - Necessita de novo cadastro para o paciente em cada hospital que deseje

marcar consulta.Caso 2 - O cadastro é realizado uma única vez.

• Tolerância a falhas

Page 36: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

35

Caso 1 - Em caso de impossibilidade de acesso a um dos hospitais, outro hospitalque possua o cadastro do paciente não será afetado. A consulta não poderá sermarcada no hospital inacessível, mas nos outros isto continua sendo possível.

Caso 2 - Em caso de impossibilidade de acesso ao banco único nenhum hospitalpoderá marcar consulta.

Após análise dos prós e contras de cada caso escolheu-se a segunda opção. Apesardessa opção aparentemente tornar-se um gargalo isto não ocorre. O gargalo na verdadeestaria no módulo apresentação, pela alta taxa de solicitações, ou no módulo hospital, de-vido ao grande tráfego de dados. Já o problema de tolerância a falhas pode ser contornadocom replicação dos dados em um servidor de reserva.

O módulo SUS gerencia então os dados dos pacientes, através de um cadastro único.Para acesso pelos outros módulos foi implementado um sistema de serviço Web, buscandotodas as vantagens que os serviços Web proporcionam. Devido ao fato de ser modular econstituir-se num serviço Web outros sistemas poderão fazer uso de suas funcionalidades.Os hospitais conforme sua preferência podem manter uma cópia dos dados atualizadosdos pacientes ou simplesmente armazenar os números de registro no SUS dos pacientes.

3.3.2.1 Utilizando Serviços Web

Todos os módulos implementam seu serviço Web. Para mostrar como isso é feito eevitar repetições desnecessárias o módulo SUS é usado como base. Como dito na seção 2.7,WSDL descreve o serviço em um protocolo adequado, no caso desse projeto, no protocoloSOAP. A seguir alguns trechos da descrição do serviço do módulo SUS são apresentados.

Figura 13: Nome e Localização do serviço no arquivo SUS.wsdl .

Esse trecho do arquivo SUS.wsdl, presente na �gura 13, indica que o serviço SUS podeser encontrado em:

http://localhost:8080/SistemaSus/services/SUS/.

Page 37: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

36

Caso algum cliente deseje acessar o módulo SUS para realizar alguma de suas operaçõesdisponíveis, poderá, acessando o arquivo SUS.wsdl, veri�car onde o serviço está disponi-bilizado.

Figura 14: Uma das diversas operações publicadas no arquivo SUS.wsdl.

Neste outro trecho do arquivo SUS.wsdl, presente na �gura 14, uma das diversasoperações disponíveis é apresentada. No arquivo WSDL a interface de comunicação e seusparâmetros estão presentes. A seguir nas �guras 15 e 16 veri�ca-se os pacotes transmitidosno formato SOAP, após resposta e solicitação para a chamada do método getMedicos(3).

Figura 15: Resposta SOAP transmitida via HTTP.

Todos os médicos com especialidade 3 serão buscados. Neste projeto foi especi�cadoque especialidade 3 corresponde a especialidade oftalmologista.Após a requisição ter sidofeita e o serviço disponibilizado é enviado uma resposta SOAP ao requisitor, contendotodos os médico especialistas em oftalmologia. Observe que o formato na qual os arquivosestão escritos e foram enviados é XML.

Page 38: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

37

Figura 16: Requisição SOAP transmitida via HTTP.

Os pacotes SOAP podem ser encapsulados em diversos protocolos de transporte.HTTP é utilizado nesse trabalho, por tratar-se de um protocolo simples e popular. A�gura 17 apresenta o cabeçalho do encapsulamento SOAP em uma mensagem HTTP.

Figura 17: Cabeçalho HTTP de uma requisição SOAP encapsulada

A seguir uma representação do banco de dados bdsus é apresentada.

3.3.2.2 Banco de Dados bdsus

O banco de dados bdsus é composto por uma tabela PACIENTES com os dadosobservados no levantamento de requisitos. Esse banco de dados pode estar localizado noservidor do sistema ou num servidor especí�co(servidor do SUS). A �gura 18 representao banco e sua tabela PACIENTES.

Figura 18: Modelagem do banco de dados bdsus.

Page 39: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

38

3.3.3 Módulo de Apresentação

O módulo de Apresentação é responsável pelo redirecionamento das chamadas dosusuários para os hospitais. Para tal ele mantém armazenado em um banco de dados asURLs dos hospitais, que implementam a interface de�nida para os serviços Web. Con-forme as chamadas dos usuários ele redireciona para o Hospital alvo ou busca entre osHospitais cadastrados a melhor opção de agendamento de consulta, por exemplo a con-sulta disponível em período mais próximo.

3.3.3.1 Utilizando Struts

Devido a necessidade de redirecionamento das chamadas dos usuários para os hospitaise selecionar as páginas de exibição corretas, este módulo trabalha com a ferramenta Strutspara facilitar este processo. Struts utiliza seu próprio descritor de distribuição de serviçospara inicializar os recursos necessários. Este arquivo contém as ActionForms para receberas entradas dos usuários, ActionMappings para direcionar as ações no lado do servidor eActionForwards para selecionar as páginas utilizadas para interação com os usuários.

A seguir pode-se visualizar na �gura 19 a URL de redirecionamento ("/pacientes"),a classe de destino ("PacientesAction.java"), o parâmetro ("acao") para a escolha dométodo a ser utilizado e as paginas JSP ("cadastraPaciente.jsp, listaPaciente.jsp, buscar-Paciente.jsp") que estão mapeadas para utilização posterior.

Figura 19: Trecho do arquivo de con�guração do Struts "struts-con�g.xml".

Após o mapeamento das ações possíveis basta que as páginas JSP realizem a devidachamada à ação desejada. O método que processa a busca de pacientes na classe Paciente-sAction.java está representado na �gura 20. Este método busca pacientes através do nomeou do cartão SUS conforme o parâmetro "opcao" e através de chamadas aos métodos da

Page 40: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

39

classe SUSProxy. SUSProxy faz as chamadas ao Serviço SUS, extrai as informações dospacotes SOAP e as converte em objetos através da API do AXIS.

Figura 20: Método da classe destino "PacientesAction.java".

3.3.3.2 Banco de Dados bdagendador

O banco de dados bdagendador é composto por duas tabelas: HOSPITAIS e USUA-RIOS. A tabela HOSPITAIS corresponde aos hospitais cadastrados no sistema. A tabelaUSUARIOS identi�ca os usuários responsáveis e com permissão para logar no sistemae executar as operações disponíveis. Para autenticação o usuário tem que estar devida-mente cadastrado com login e senha. Esse banco de dados está localizado no servidor dosistema. A �gura 21 representa o banco.

Figura 21: Modelagem do banco de dados bdagendador.

Page 41: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

40

3.3.4 Considerações do sistema

O sistema apresentado possibilita a descentralização do agendamento de consultas,uma vez que vários usuários podem acessar o sistema, ao mesmo tempo, de diversoslugares. Permite assim que os pacientes agendem suas consultas para os hospitais deoutros locais além dos próprios hospitais. O acesso pode ser realizado através da URLem um browser pelo usuário cadastrado (login e senha) no sistema. O paciente irá entãose dirigir aos locais com máquinas disponíveis e usuários cadastrados para solicitar amarcação de sua consulta. O sistema poderia, por exemplo, ser acessado dos postos desaúde da região e manipulados no browser de um computador conectado por funcionáriosdevidamente treinados e cadastrados.

Figura 22: Estrutura utilizada no sistema como um todo.

A �gura 22 nos mostra como a descentralização é feita. As solicitações são realizadaspelos usuários do sistema, funcionários de postos de saúde por exemplo, repassando asrequisições para os hospitais ou para o módulo SUS. Assim consultas podem ser agendadasde um único local (posto de saúde, hospital, etc.) para vários hospitais a partir da URLdo sistema. O Sistema Agendador presente no centro da �gura trata-se do Módulo deApresentação, responsável pelo redirecionamento das chamadas realizadas pelos outros

Page 42: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

41

módulos.O sistema está então con�gurado em três módulos, todos eles conectados através de

serviços Web, todos utilizam hibernate para mapeamento O/R e o módulo de apresentaçãoutiliza Struts como framework para facilitar a con�guração do sistema no padrão MVC.

Page 43: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

42

4 Conclusões e trabalhos futuros

É apresentada a conclusão do projeto e logo em seguida algumas sugestões de trabalhosfuturos.

4.1 Conclusão Final

O presente trabalho mostra a viabilidade de se construir um sistema real integrado,para um sistema de agendamento de consultas, com base nas tecnologias de serviçosWeb. Ele representa uma base para uma possível solução de um dos problemas sociaisvividos pela comunidade carente das grandes cidades brasileiras: as �las para marcaçãode consultas do SUS (Sistema Único de Saúde).

Com as tecnologias disponíveis no presente, com a velocidade do tráfego de infor-mações, não é mais aceitável que uma pessoa tenha que se locomover vários quilometrospara marcar uma consulta. Distribuindo a marcação de consultas diminui-se o tempo deespera nas �las, de locomoção e o gasto com locomoção para se chegar em um dos diversoshospitais disponíveis, muitas vezes sem a garantia de marcação da consulta desejada.

Um sistema real poderá ser implantado, utilizando apenas ferramentas livres, e aindaser de grande valia para a sociedade, minimizando os problemas visualizados e constatadospelo Ministério da Saúde (22).

4.2 Trabalhos Futuros

• Enquadrar os dados de pacientes conforme o padrão do SUS.

• Inserção de segurança ao Serviço Web.

• Possibilitar o uso do sistema em centrais moveis de marcação de consultas.

• Melhorar a interface grá�ca para o protótipo.

Page 44: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

43

Referências

1 DEITEL H. M. DEITEL, P. J. Java Como Programar. 4. ed. Porto Alegre:BOOKMAN, 2003. 1386 p.2 SUN. JAVA. [S.l.]: URL:http://java.sun.com/, Fevereiro 2006. Internet.3 ECLIPSE. [S.l.]: URL:http://www.eclipse.org/, Outubro 2005. Internet.4 APACHE. Tomcat. [S.l.]: URL:http://jakarta.apache.org/tomcat/, Outubro2005. Internet.5 APACHE. AXIS. [S.l.]: URL:http://ws.apache.org/axis/, Outubro 2005. Internet.6 APACHE. STRUTS. [S.l.]: URL:http://struts.apache.org/, Outubro 2005.Internet.7 BAUER CHRISTIAN. KING, G. Hibernate em Ação O Guia De�nitivo para oHibernate. 1 ed.. ed. Rio de Janeiro: Ciência Moderna, 2005. 560 p.8 MYSQL. [S.l.]: URL:http://www.mysql.com/, Outubro 2005. Internet.9 KURNIAWAN, B. Java para a Web com Servlets, JSP e EJB. Rio de Janeiro: CiênciaModerna Ltda, 2002. 808 p.10 DEITEL, H. M. e. a. Web Services A technical Introduction. New Jersey: PrenticeHall, 2003. 494 p.11 JBOSS. Hibernate. [S.l.]: URL:http://http://www.hibernate.org/, Outubro2005. Internet.12 HOUGLAND DAMON. TAVISTOCK, A. Core JSP. [S.l.]: Prentice Hall, 2001.391 p.13 GALBRAITH, B. e. a. Professional Java Web Services. 1 ed. ed. [S.l.]: Wrox Press,2002. 575 p.14 CERAMI, E. Web Services Essencials. 1. ed. Tókio: O'Reilly, 2002. 304 p.15 ECLIPSE. WST. [S.l.]: URL:http://eclipse.org/webtools/wst/main.xml,Outubro 2005. Internet.16 APACHE. SOAP. [S.l.]: URL:http://ws.apache.org/soap/, Outubro 2005.Internet.17 W3C. World Wide Web Consortium. [S.l.]: URL:http://www.w3.org/TR/soap/,Outubro 2005. Internet.

Page 45: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

44

18 HIGTOWER, R. Jakarta-Struts Live. Colorado: SourceBeat, 2004. 273 p.19 PHPMYADMIN. [S.l.]: URL:http://www.phpmyadmin.net/, Outubro 2005.Internet.20 SUN. JDBC. [S.l.]: URL:http://java.sun.com/products/jdbc/, Outubro 2005.Internet.21 ANSELMO, F. Tudo o que você queria saber sobre JDBC. Florianópolis: VisualBooks, 2001. 200 p.22 SAúDE, M. da. QUALISUS. [S.l.]: URL:http://www.saude.gov.br, Fevereiro 2006.Internet.

Page 46: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

45

5 Anexos

5.1 Módulo de Apresentação

5.1.1 SistemaAgendador/JavaSource/actions/Gerenciador.java

package actions;

import javax.servlet.ServletException;

import org.apache.struts.action.ActionServlet;

import bd.hibernate.Banco;

public class Gerenciador extends ActionServlet{@Overridepublic void init() throws ServletException {

super.init ();Banco.getInstance();

}}

Page 47: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

46

5.1.2 SistemaAgendador/JavaSource/actions/HospitaisAction.java

package actions;

import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction;

import service.HospitalProxy;

import bd.hibernate.tabelas.Hospitais;import beans.Hospital;

public class HospitaisAction extends DispatchAction {

Hospitais hospitais = Hospitais.getInstance();HospitalProxy serviceHospital = new HospitalProxy();

public ActionForward cadastro(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

return actionMapping.�ndForward("telaCadastro");}

public ActionForward cadastrar(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

Hospital hospital = new Hospital();BeanUtils.copyProperties(hospital, actionForm);hospitais.set(hospital);

Page 48: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

47

return actionMapping.�ndForward("telaCadastro");}

public ActionForward listar(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

request.setAttribute("hospitais", hospitais.get());return actionMapping.�ndForward("listar");

}

public ActionForward mostrar(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

int hospital = Integer.valueOf(request.getParameter("hospital"));Hospital hospital2 = hospitais.get(hospital);serviceHospital.setEndpoint(hospital2.getUrl());System.out.println(hospital2.getNome());return actionMapping.�ndForward("");

}}

Page 49: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

48

5.1.3 SistemaAgendador/JavaSource/actions/MedicosAction.java

package actions;

import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;

import service.HospitalProxy;;

public class MedicosAction {

HospitalProxy proxy = new HospitalProxy();

public ActionForward busca(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

return actionMapping.�ndForward("telaBusca");}

public ActionForward buscar(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

request.setAttribute("pacientes",proxy.getMedicos(request.getParameter("nome")));return actionMapping.�ndForward("listar");

}

}

Page 50: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

49

5.1.4 SistemaAgendador/JavaSource/actions/PacientesAction.java

package actions;

import java.util.LinkedList;

import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.DynaActionForm;import org.apache.struts.actions.DispatchAction;

import beans.Paciente;

import service.SUSProxy;import uteis.ConversorPaciente;

public class PacientesAction extends DispatchAction {

SUSProxy proxy = new SUSProxy();

public ActionForward cadastro(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

return actionMapping.�ndForward("telaCadastro");}

public ActionForward busca(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

return actionMapping.�ndForward("telaBusca");}

Page 51: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

50

public ActionForward cadastrar(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

ConversorPaciente paciente = new ConversorPaciente();BeanUtils.copyProperties(paciente, actionForm);System.out.print(paciente.getNome());proxy.cadastrarPaciente(paciente.converter());return actionMapping.�ndForward("telaCadastro");

}

public ActionForward buscar(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

DynaActionForm form = (DynaActionForm) actionForm;String opcao = form.getString("opcao");if("NOME".equals(opcao))

request.setAttribute("pacientes", proxy.buscar(form.getString("nome")));else{

LinkedList<Paciente> pacientes = new LinkedList<Paciente>();pacientes.add(proxy.getPaciente(Long.valueOf(form.getString("nome"))));request.setAttribute("pacientes", pacientes);

}return actionMapping.�ndForward("listar");

}

public ActionForward mostrar(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

request.getSession().setAttribute("paciente_", new ConversorPaciente().converter(proxy.getPaciente(Long.valueOf(request.getParameter("paciente")))));return actionMapping.�ndForward("telaCadastro");

}}

Page 52: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

51

5.1.5 SistemaAgendador/JavaSource/actions/UsuariosAction.java

package actions;

import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.DynaActionForm;import org.apache.struts.actions.DispatchAction;

import bd.hibernate.tabelas.Usuarios;import beans.Usuario;

public class UsuariosAction extends DispatchAction {

Usuarios usuarios = Usuarios.getInstance();

public ActionForward cadastro(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

return actionMapping.�ndForward("telaCadastro");}

public ActionForward cadastrar(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception {

Usuario usuario = new Usuario();BeanUtils.copyProperties(usuario, actionForm);usuarios.set(usuario);return actionMapping.�ndForward("telaCadastro");

}}

Page 53: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

52

5.1.6 SistemaAgendador/JavaSource/actions/UtilitariosAction.java

package actions;

public class UtilitariosAction {}

Page 54: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

53

5.1.7 SistemaAgendador/JavaSource/bd/hibernate/Banco.java

package bd.hibernate;

import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Con�guration;

public class Banco {

private static Banco banco;

SessionFactory sessionFactory;

private Banco() {sessionFactory = new Con�guration().con�gure().buildSessionFactory();

}

public static Banco getInstance() {if (banco == null)

banco = new Banco();return banco;

}

public Session getSession() {return sessionFactory.openSession();

}

}

Page 55: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

54

5.1.8 SistemaAgendador/JavaSource/bd/hibernate/tabelas/Hospitais.java

package bd.hibernate.tabelas;

import java.util.List ;

import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;

import bd.hibernate.Banco;import beans.Hospital;

public class Hospitais {

private static Hospitais hospitais ;private Banco banco;

public static Hospitais getInstance() {if (hospitais == null)

hospitais = new Hospitais();return hospitais;

}

private Hospitais(){banco = Banco.getInstance();

}

public void set(Hospital hospital){Session session = banco.getSession();Transaction tx = session.beginTransaction();session .save(hospital );tx.commit();session . close ();

}

Page 56: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

55

public List<Hospital> get() {Session session = banco.getSession();Transaction tx = session.beginTransaction();Query query = session.createQuery("from Hospital order by nome asc");List<Hospital> hospitais = query.list ();tx.commit();session . close ();return hospitais;

}

public Hospital get(int hospital) {Session session = banco.getSession();Transaction tx = session.beginTransaction();Hospital h = (Hospital) session .get(Hospital.class, hospital );tx.commit();session . close ();return h;

}

/∗∗∗ @param args∗/public static void main(String[] args) {

// TODO Auto−generated method stub

}

}

Page 57: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

56

5.1.9 SistemaAgendador/JavaSource/bd/hibernate/tabelas/Usuarios.java

package bd.hibernate.tabelas;

import java.util.List ;

import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;

import bd.hibernate.Banco;import beans.Hospital;import beans.Usuario;

public class Usuarios {

private static Usuarios usuarios;private Banco banco;

public static Usuarios getInstance() {if (usuarios == null)

usuarios = new Usuarios();return usuarios;

}

private Usuarios(){banco = Banco.getInstance();

}

public void set(Usuario usuario){Session session = banco.getSession();Transaction tx = session.beginTransaction();session .save(usuario);tx.commit();session . close ();

}

Page 58: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

57

public List<Usuario> get() {Session session = banco.getSession();Transaction tx = session.beginTransaction();Query query = session.createQuery("from Usuario");List<Usuario> usuarios = query.list();tx.commit();session . close ();return usuarios;

}

public Usuario get(int usuario) {Session session = banco.getSession();Transaction tx = session.beginTransaction();Usuario u = (Usuario) session.get(Usuario.class, usuario);tx.commit();session . close ();return u;

}

/∗∗∗ @param args∗/public static void main(String[] args) {

// TODO Auto−generated method stub

}

}

Page 59: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

58

5.1.10 SistemaAgendador/JavaSource/beans/Consulta.java

/∗∗∗ Consulta.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package beans;

public class Consulta implements java.io.Serializable {private java.lang.String data;private java.lang.String hora;private long id;private beans.Medico medico;private beans.Paciente paciente;

public Consulta() {}

public Consulta(java.lang.String data,java.lang.String hora,long id,beans.Medico medico,beans.Paciente paciente) {this.data = data;this.hora = hora;this. id = id;this.medico = medico;this.paciente = paciente;

}

/∗∗

Page 60: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

59

∗ Gets the data value for this Consulta.∗∗ @return data∗/public java.lang.String getData() {

return data;}

/∗∗∗ Sets the data value for this Consulta.∗∗ @param data∗/public void setData(java.lang.String data) {

this.data = data;}

/∗∗∗ Gets the hora value for this Consulta.∗∗ @return hora∗/public java.lang.String getHora() {

return hora;}

/∗∗∗ Sets the hora value for this Consulta.∗∗ @param hora∗/public void setHora(java.lang.String hora) {

Page 61: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

60

this.hora = hora;}

/∗∗∗ Gets the id value for this Consulta.∗∗ @return id∗/public long getId() {

return id;}

/∗∗∗ Sets the id value for this Consulta.∗∗ @param id∗/public void setId(long id) {

this. id = id;}

/∗∗∗ Gets the medico value for this Consulta.∗∗ @return medico∗/public beans.Medico getMedico() {

return medico;}

/∗∗

Page 62: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

61

∗ Sets the medico value for this Consulta.∗∗ @param medico∗/public void setMedico(beans.Medico medico) {

this.medico = medico;}

/∗∗∗ Gets the paciente value for this Consulta.∗∗ @return paciente∗/public beans.Paciente getPaciente() {

return paciente;}

/∗∗∗ Sets the paciente value for this Consulta.∗∗ @param paciente∗/public void setPaciente(beans.Paciente paciente) {

this.paciente = paciente;}

private java.lang.Object __equalsCalc = null;public synchronized boolean equals(java.lang.Object obj) {

if (!( obj instanceof Consulta)) return false;Consulta other = (Consulta) obj;if (obj == null) return false;if (this == obj) return true;if (__equalsCalc != null) {

Page 63: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

62

return (__equalsCalc == obj);}__equalsCalc = obj;boolean _equals;_equals = true &&

((this.data==null && other.getData()==null) ||(this.data!=null &&this.data.equals(other.getData()))) &&

((this.hora==null && other.getHora()==null) ||(this.hora!=null &&this.hora.equals(other.getHora()))) &&

this. id == other.getId() &&((this.medico==null && other.getMedico()==null) ||(this.medico!=null &&this.medico.equals(other.getMedico()))) &&

((this.paciente==null && other.getPaciente()==null) ||(this.paciente!=null &&this.paciente.equals(other.getPaciente ())));

__equalsCalc = null;return _equals;

}

private boolean __hashCodeCalc = false;public synchronized int hashCode() {

if (__hashCodeCalc) {return 0;

}__hashCodeCalc = true;int _hashCode = 1;if (getData() != null) {

_hashCode += getData().hashCode();}if (getHora() != null) {

_hashCode += getHora().hashCode();}

Page 64: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

63

_hashCode += new Long(getId()).hashCode();if (getMedico() != null) {

_hashCode += getMedico().hashCode();}if (getPaciente() != null) {

_hashCode += getPaciente().hashCode();}__hashCodeCalc = false;return _hashCode;

}

// Type metadataprivate static org.apache.axis. description .TypeDesc typeDesc =

new org.apache.axis.description.TypeDesc(Consulta.class, true);

static {typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans", "Consulta"));org.apache.axis. description .ElementDesc elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("data");elemField.setXmlName(new javax.xml.namespace.QName("", "data"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("hora");elemField.setXmlName(new javax.xml.namespace.QName("", "hora"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("id");elemField.setXmlName(new javax.xml.namespace.QName("", "id"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"));elemField. setNillable (false );typeDesc.addFieldDesc(elemField);

Page 65: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

64

elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("medico");elemField.setXmlName(new javax.xml.namespace.QName("", "medico"));elemField.setXmlType(new javax.xml.namespace.QName("http://beans", "Medico"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("paciente");elemField.setXmlName(new javax.xml.namespace.QName("", "paciente"));elemField.setXmlType(new javax.xml.namespace.QName("http://beans", "Paciente"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);

}

/∗∗∗ Return type metadata object∗/public static org.apache.axis. description .TypeDesc getTypeDesc() {

return typeDesc;}

/∗∗∗ Get Custom Serializer∗/public static org.apache.axis.encoding. Serializer getSerializer (

java.lang.String mechType,java.lang.Class _javaType,javax.xml.namespace.QName _xmlType) {

returnnew org.apache.axis.encoding.ser .BeanSerializer(_javaType, _xmlType, typeDesc);

}

/∗∗∗ Get Custom Deserializer

Page 66: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

65

∗/public static org.apache.axis.encoding.Deserializer getDeserializer (

java.lang.String mechType,java.lang.Class _javaType,javax.xml.namespace.QName _xmlType) {

returnnew org.apache.axis.encoding.ser .BeanDeserializer(_javaType, _xmlType, typeDesc);

}

}

Page 67: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

66

5.1.11 SistemaAgendador/JavaSource/beans/Endereco.java

/∗∗∗ Endereco.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package beans;

public class Endereco implements java.io.Serializable {private java.lang.String bairro ;private java.lang.String cidade;private java.lang.String complemento;private java.lang.String estado;private int numero;private java.lang.String rua;

public Endereco() {}

public Endereco(java.lang.String bairro ,java.lang.String cidade,java.lang.String complemento,java.lang.String estado,int numero,java.lang.String rua) {this.bairro = bairro;this.cidade = cidade;this.complemento = complemento;this.estado = estado;this.numero = numero;this.rua = rua;

}

Page 68: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

67

/∗∗∗ Gets the bairro value for this Endereco.∗∗ @return bairro∗/public java.lang.String getBairro() {

return bairro;}

/∗∗∗ Sets the bairro value for this Endereco.∗∗ @param bairro∗/public void setBairro(java.lang.String bairro) {

this.bairro = bairro;}

/∗∗∗ Gets the cidade value for this Endereco.∗∗ @return cidade∗/public java.lang.String getCidade() {

return cidade;}

/∗∗∗ Sets the cidade value for this Endereco.∗

Page 69: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

68

∗ @param cidade∗/public void setCidade(java.lang.String cidade) {

this.cidade = cidade;}

/∗∗∗ Gets the complemento value for this Endereco.∗∗ @return complemento∗/public java.lang.String getComplemento() {

return complemento;}

/∗∗∗ Sets the complemento value for this Endereco.∗∗ @param complemento∗/public void setComplemento(java.lang.String complemento) {

this.complemento = complemento;}

/∗∗∗ Gets the estado value for this Endereco.∗∗ @return estado∗/public java.lang.String getEstado() {

return estado;}

Page 70: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

69

/∗∗∗ Sets the estado value for this Endereco.∗∗ @param estado∗/public void setEstado(java.lang.String estado) {

this.estado = estado;}

/∗∗∗ Gets the numero value for this Endereco.∗∗ @return numero∗/public int getNumero() {

return numero;}

/∗∗∗ Sets the numero value for this Endereco.∗∗ @param numero∗/public void setNumero(int numero) {

this.numero = numero;}

/∗∗∗ Gets the rua value for this Endereco.∗

Page 71: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

70

∗ @return rua∗/public java.lang.String getRua() {

return rua;}

/∗∗∗ Sets the rua value for this Endereco.∗∗ @param rua∗/public void setRua(java.lang.String rua) {

this.rua = rua;}

private java.lang.Object __equalsCalc = null;public synchronized boolean equals(java.lang.Object obj) {

if (!( obj instanceof Endereco)) return false;Endereco other = (Endereco) obj;if (obj == null) return false;if (this == obj) return true;if (__equalsCalc != null) {

return (__equalsCalc == obj);}__equalsCalc = obj;boolean _equals;_equals = true &&

((this.bairro==null && other.getBairro()==null) ||(this.bairro!=null &&this.bairro .equals(other.getBairro ()))) &&

((this.cidade==null && other.getCidade()==null) ||(this.cidade!=null &&this.cidade.equals(other.getCidade()))) &&

((this.complemento==null && other.getComplemento()==null) ||

Page 72: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

71

(this.complemento!=null &&this.complemento.equals(other.getComplemento()))) &&

((this.estado==null && other.getEstado()==null) ||(this.estado!=null &&this.estado.equals(other.getEstado()))) &&

this.numero == other.getNumero() &&((this.rua==null && other.getRua()==null) ||(this.rua!=null &&this.rua.equals(other.getRua())));

__equalsCalc = null;return _equals;

}

private boolean __hashCodeCalc = false;public synchronized int hashCode() {

if (__hashCodeCalc) {return 0;

}__hashCodeCalc = true;int _hashCode = 1;if (getBairro() != null) {

_hashCode += getBairro().hashCode();}if (getCidade() != null) {

_hashCode += getCidade().hashCode();}if (getComplemento() != null) {

_hashCode += getComplemento().hashCode();}if (getEstado() != null) {

_hashCode += getEstado().hashCode();}_hashCode += getNumero();if (getRua() != null) {

_hashCode += getRua().hashCode();

Page 73: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

72

}__hashCodeCalc = false;return _hashCode;

}

// Type metadataprivate static org.apache.axis. description .TypeDesc typeDesc =

new org.apache.axis.description.TypeDesc(Endereco.class, true);

static {typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans", "Endereco"));org.apache.axis. description .ElementDesc elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("bairro");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "bairro"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("cidade");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "cidade"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("complemento");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "complemento"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("estado");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "estado"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);

Page 74: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

73

elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("numero");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "numero"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));elemField. setNillable (false );typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("rua");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "rua"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);

}

/∗∗∗ Return type metadata object∗/public static org.apache.axis. description .TypeDesc getTypeDesc() {

return typeDesc;}

/∗∗∗ Get Custom Serializer∗/public static org.apache.axis.encoding. Serializer getSerializer (

java.lang.String mechType,java.lang.Class _javaType,javax.xml.namespace.QName _xmlType) {

returnnew org.apache.axis.encoding.ser .BeanSerializer(_javaType, _xmlType, typeDesc);

}

/∗∗∗ Get Custom Deserializer

Page 75: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

74

∗/public static org.apache.axis.encoding.Deserializer getDeserializer (

java.lang.String mechType,java.lang.Class _javaType,javax.xml.namespace.QName _xmlType) {

returnnew org.apache.axis.encoding.ser .BeanDeserializer(_javaType, _xmlType, typeDesc);

}

}

Page 76: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

75

5.1.12 SistemaAgendador/JavaSource/beans/Hospital.java

package beans;

public class Hospital {

private int id;private String url ;private String nome;/∗∗∗ @return Returns the nome.∗/public String getNome() {

return nome;}/∗∗∗ @param nome The nome to set.∗/public void setNome(String nome) {

this.nome = nome;}/∗∗∗ @return Returns the url.∗/public String getUrl() {

return url;}/∗∗∗ @param url The url to set.∗/public void setUrl(String url) {

this.url = url;}/∗∗∗ @return Returns the id.∗/

Page 77: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

76

public int getId() {return id;

}/∗∗∗ @param id The id to set.∗/public void setId(int id) {

this. id = id;}

}

Page 78: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

77

5.1.13 SistemaAgendador/JavaSource/beans/Medico.java

/∗∗∗ Medico.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package beans;

public class Medico implements java.io.Serializable {private long crm;private int especialidade;private java.lang.String nome;

public Medico() {}

public Medico(long crm,int especialidade ,java.lang.String nome) {this.crm = crm;this. especialidade = especialidade;this.nome = nome;

}

/∗∗∗ Gets the crm value for this Medico.∗∗ @return crm∗/public long getCrm() {

return crm;

Page 79: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

78

}

/∗∗∗ Sets the crm value for this Medico.∗∗ @param crm∗/public void setCrm(long crm) {

this.crm = crm;}

/∗∗∗ Gets the especialidade value for this Medico.∗∗ @return especialidade∗/public int getEspecialidade() {

return especialidade;}

/∗∗∗ Sets the especialidade value for this Medico.∗∗ @param especialidade∗/public void setEspecialidade(int especialidade) {

this. especialidade = especialidade;}

/∗∗∗ Gets the nome value for this Medico.

Page 80: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

79

∗∗ @return nome∗/public java.lang.String getNome() {

return nome;}

/∗∗∗ Sets the nome value for this Medico.∗∗ @param nome∗/public void setNome(java.lang.String nome) {

this.nome = nome;}

private java.lang.Object __equalsCalc = null;public synchronized boolean equals(java.lang.Object obj) {

if (!( obj instanceof Medico)) return false;Medico other = (Medico) obj;if (obj == null) return false;if (this == obj) return true;if (__equalsCalc != null) {

return (__equalsCalc == obj);}__equalsCalc = obj;boolean _equals;_equals = true &&

this.crm == other.getCrm() &&this. especialidade == other.getEspecialidade() &&((this.nome==null && other.getNome()==null) ||(this.nome!=null &&this.nome.equals(other.getNome())));

__equalsCalc = null;

Page 81: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

80

return _equals;}

private boolean __hashCodeCalc = false;public synchronized int hashCode() {

if (__hashCodeCalc) {return 0;

}__hashCodeCalc = true;int _hashCode = 1;_hashCode += new Long(getCrm()).hashCode();_hashCode += getEspecialidade();if (getNome() != null) {

_hashCode += getNome().hashCode();}__hashCodeCalc = false;return _hashCode;

}

// Type metadataprivate static org.apache.axis. description .TypeDesc typeDesc =

new org.apache.axis.description.TypeDesc(Medico.class, true);

static {typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans", "Medico"));org.apache.axis. description .ElementDesc elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("crm");elemField.setXmlName(new javax.xml.namespace.QName("", "crm"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"));elemField. setNillable (false );typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("especialidade");elemField.setXmlName(new javax.xml.namespace.QName("", "especialidade"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));

Page 82: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

81

elemField. setNillable (false );typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("nome");elemField.setXmlName(new javax.xml.namespace.QName("", "nome"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);

}

/∗∗∗ Return type metadata object∗/public static org.apache.axis. description .TypeDesc getTypeDesc() {

return typeDesc;}

/∗∗∗ Get Custom Serializer∗/public static org.apache.axis.encoding. Serializer getSerializer (

java.lang.String mechType,java.lang.Class _javaType,javax.xml.namespace.QName _xmlType) {

returnnew org.apache.axis.encoding.ser .BeanSerializer(_javaType, _xmlType, typeDesc);

}

/∗∗∗ Get Custom Deserializer∗/public static org.apache.axis.encoding.Deserializer getDeserializer (

java.lang.String mechType,java.lang.Class _javaType,

Page 83: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

82

javax.xml.namespace.QName _xmlType) {returnnew org.apache.axis.encoding.ser .BeanDeserializer(_javaType, _xmlType, typeDesc);

}

}

Page 84: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

83

5.1.14 SistemaAgendador/JavaSource/beans/Paciente.java

/∗∗∗ Paciente.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package beans;

public class Paciente implements java.io.Serializable {private long cartaoSus;private java.lang.String conjuge;private java. util .Calendar dataNascimento;private beans.Endereco endereco;private int estadoCivil;private java.lang.String mae;private java.lang.String nacionalidade;private java.lang.String naturalidade;private java.lang.String nome;private java.lang.String nomeEmpresa;private java.lang.String pai;private java.lang.String sexo;

public Paciente() {}

public Paciente(long cartaoSus,java.lang.String conjuge,java. util .Calendar dataNascimento,beans.Endereco endereco,int estadoCivil ,java.lang.String mae,java.lang.String nacionalidade,

Page 85: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

84

java.lang.String naturalidade,java.lang.String nome,java.lang.String nomeEmpresa,java.lang.String pai,java.lang.String sexo) {this.cartaoSus = cartaoSus;this.conjuge = conjuge;this.dataNascimento = dataNascimento;this.endereco = endereco;this.estadoCivil = estadoCivil;this.mae = mae;this.nacionalidade = nacionalidade;this.naturalidade = naturalidade;this.nome = nome;this.nomeEmpresa = nomeEmpresa;this.pai = pai;this.sexo = sexo;

}

/∗∗∗ Gets the cartaoSus value for this Paciente.∗∗ @return cartaoSus∗/public long getCartaoSus() {

return cartaoSus;}

/∗∗∗ Sets the cartaoSus value for this Paciente.∗∗ @param cartaoSus∗/

Page 86: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

85

public void setCartaoSus(long cartaoSus) {this.cartaoSus = cartaoSus;

}

/∗∗∗ Gets the conjuge value for this Paciente.∗∗ @return conjuge∗/public java.lang.String getConjuge() {

return conjuge;}

/∗∗∗ Sets the conjuge value for this Paciente.∗∗ @param conjuge∗/public void setConjuge(java.lang.String conjuge) {

this.conjuge = conjuge;}

/∗∗∗ Gets the dataNascimento value for this Paciente.∗∗ @return dataNascimento∗/public java.util .Calendar getDataNascimento() {

return dataNascimento;}

Page 87: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

86

/∗∗∗ Sets the dataNascimento value for this Paciente.∗∗ @param dataNascimento∗/public void setDataNascimento(java.util.Calendar dataNascimento) {

this.dataNascimento = dataNascimento;}

/∗∗∗ Gets the endereco value for this Paciente.∗∗ @return endereco∗/public beans.Endereco getEndereco() {

return endereco;}

/∗∗∗ Sets the endereco value for this Paciente.∗∗ @param endereco∗/public void setEndereco(beans.Endereco endereco) {

this.endereco = endereco;}

/∗∗∗ Gets the estadoCivil value for this Paciente.∗∗ @return estadoCivil∗/

Page 88: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

87

public int getEstadoCivil() {return estadoCivil;

}

/∗∗∗ Sets the estadoCivil value for this Paciente.∗∗ @param estadoCivil∗/public void setEstadoCivil(int estadoCivil) {

this.estadoCivil = estadoCivil;}

/∗∗∗ Gets the mae value for this Paciente.∗∗ @return mae∗/public java.lang.String getMae() {

return mae;}

/∗∗∗ Sets the mae value for this Paciente.∗∗ @param mae∗/public void setMae(java.lang.String mae) {

this.mae = mae;}

Page 89: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

88

/∗∗∗ Gets the nacionalidade value for this Paciente.∗∗ @return nacionalidade∗/public java.lang.String getNacionalidade() {

return nacionalidade;}

/∗∗∗ Sets the nacionalidade value for this Paciente.∗∗ @param nacionalidade∗/public void setNacionalidade(java.lang.String nacionalidade) {

this.nacionalidade = nacionalidade;}

/∗∗∗ Gets the naturalidade value for this Paciente.∗∗ @return naturalidade∗/public java.lang.String getNaturalidade() {

return naturalidade;}

/∗∗∗ Sets the naturalidade value for this Paciente.∗∗ @param naturalidade∗/

Page 90: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

89

public void setNaturalidade(java.lang.String naturalidade) {this.naturalidade = naturalidade;

}

/∗∗∗ Gets the nome value for this Paciente.∗∗ @return nome∗/public java.lang.String getNome() {

return nome;}

/∗∗∗ Sets the nome value for this Paciente.∗∗ @param nome∗/public void setNome(java.lang.String nome) {

this.nome = nome;}

/∗∗∗ Gets the nomeEmpresa value for this Paciente.∗∗ @return nomeEmpresa∗/public java.lang.String getNomeEmpresa() {

return nomeEmpresa;}

Page 91: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

90

/∗∗∗ Sets the nomeEmpresa value for this Paciente.∗∗ @param nomeEmpresa∗/public void setNomeEmpresa(java.lang.String nomeEmpresa) {

this.nomeEmpresa = nomeEmpresa;}

/∗∗∗ Gets the pai value for this Paciente.∗∗ @return pai∗/public java.lang.String getPai() {

return pai;}

/∗∗∗ Sets the pai value for this Paciente.∗∗ @param pai∗/public void setPai(java.lang.String pai) {

this.pai = pai;}

/∗∗∗ Gets the sexo value for this Paciente.∗∗ @return sexo∗/

Page 92: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

91

public java.lang.String getSexo() {return sexo;

}

/∗∗∗ Sets the sexo value for this Paciente.∗∗ @param sexo∗/public void setSexo(java.lang.String sexo) {

this.sexo = sexo;}

private java.lang.Object __equalsCalc = null;public synchronized boolean equals(java.lang.Object obj) {

if (!( obj instanceof Paciente)) return false;Paciente other = (Paciente) obj;if (obj == null) return false;if (this == obj) return true;if (__equalsCalc != null) {

return (__equalsCalc == obj);}__equalsCalc = obj;boolean _equals;_equals = true &&

this.cartaoSus == other.getCartaoSus() &&((this.conjuge==null && other.getConjuge()==null) ||(this.conjuge!=null &&this.conjuge.equals(other.getConjuge()))) &&

((this.dataNascimento==null && other.getDataNascimento()==null) ||(this.dataNascimento!=null &&this.dataNascimento.equals(other.getDataNascimento()))) &&

((this.endereco==null && other.getEndereco()==null) ||(this.endereco!=null &&

Page 93: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

92

this.endereco.equals(other.getEndereco()))) &&this.estadoCivil == other.getEstadoCivil() &&((this.mae==null && other.getMae()==null) ||(this.mae!=null &&this.mae.equals(other.getMae()))) &&

((this.nacionalidade==null && other.getNacionalidade()==null) ||(this.nacionalidade!=null &&this.nacionalidade.equals(other.getNacionalidade()))) &&

((this.naturalidade==null && other.getNaturalidade()==null) ||(this.naturalidade!=null &&this.naturalidade.equals(other.getNaturalidade()))) &&

((this.nome==null && other.getNome()==null) ||(this.nome!=null &&this.nome.equals(other.getNome()))) &&

((this.nomeEmpresa==null && other.getNomeEmpresa()==null) ||(this.nomeEmpresa!=null &&this.nomeEmpresa.equals(other.getNomeEmpresa()))) &&

((this.pai==null && other.getPai()==null) ||(this.pai!=null &&this.pai.equals(other.getPai ()))) &&

((this.sexo==null && other.getSexo()==null) ||(this.sexo!=null &&this.sexo.equals(other.getSexo())));

__equalsCalc = null;return _equals;

}

private boolean __hashCodeCalc = false;public synchronized int hashCode() {

if (__hashCodeCalc) {return 0;

}__hashCodeCalc = true;int _hashCode = 1;_hashCode += new Long(getCartaoSus()).hashCode();

Page 94: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

93

if (getConjuge() != null) {_hashCode += getConjuge().hashCode();

}if (getDataNascimento() != null) {

_hashCode += getDataNascimento().hashCode();}if (getEndereco() != null) {

_hashCode += getEndereco().hashCode();}_hashCode += getEstadoCivil();if (getMae() != null) {

_hashCode += getMae().hashCode();}if (getNacionalidade() != null) {

_hashCode += getNacionalidade().hashCode();}if (getNaturalidade() != null) {

_hashCode += getNaturalidade().hashCode();}if (getNome() != null) {

_hashCode += getNome().hashCode();}if (getNomeEmpresa() != null) {

_hashCode += getNomeEmpresa().hashCode();}if (getPai() != null) {

_hashCode += getPai().hashCode();}if (getSexo() != null) {

_hashCode += getSexo().hashCode();}__hashCodeCalc = false;return _hashCode;

}

Page 95: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

94

// Type metadataprivate static org.apache.axis. description .TypeDesc typeDesc =

new org.apache.axis.description.TypeDesc(Paciente.class, true);

static {typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans", "Paciente"));org.apache.axis. description .ElementDesc elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("cartaoSus");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "cartaoSus"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"));elemField. setNillable (false );typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("conjuge");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "conjuge"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("dataNascimento");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "dataNascimento"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("endereco");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "endereco"));elemField.setXmlType(new javax.xml.namespace.QName("http://beans", "Endereco"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("estadoCivil");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "estadoCivil"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));elemField. setNillable (false );

Page 96: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

95

typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("mae");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "mae"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("nacionalidade");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "nacionalidade"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("naturalidade");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "naturalidade"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("nome");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "nome"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("nomeEmpresa");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "nomeEmpresa"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("pai");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "pai"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));

Page 97: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

96

elemField. setNillable (true);typeDesc.addFieldDesc(elemField);elemField = new org.apache.axis.description.ElementDesc();elemField.setFieldName("sexo");elemField.setXmlName(new javax.xml.namespace.QName("http://beans", "sexo"));elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));elemField. setNillable (true);typeDesc.addFieldDesc(elemField);

}

/∗∗∗ Return type metadata object∗/public static org.apache.axis. description .TypeDesc getTypeDesc() {

return typeDesc;}

/∗∗∗ Get Custom Serializer∗/public static org.apache.axis.encoding. Serializer getSerializer (

java.lang.String mechType,java.lang.Class _javaType,javax.xml.namespace.QName _xmlType) {

returnnew org.apache.axis.encoding.ser .BeanSerializer(_javaType, _xmlType, typeDesc);

}

/∗∗∗ Get Custom Deserializer∗/public static org.apache.axis.encoding.Deserializer getDeserializer (

java.lang.String mechType,java.lang.Class _javaType,

Page 98: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

97

javax.xml.namespace.QName _xmlType) {returnnew org.apache.axis.encoding.ser .BeanDeserializer(_javaType, _xmlType, typeDesc);

}

}

Page 99: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

98

5.1.15 SistemaAgendador/JavaSource/actions/Gerenciador.java

package beans;

public class Usuario {private long id;private String login ;private String nome;private String senha;/∗∗∗ @return Returns the id.∗/public long getId() {

return id;}/∗∗∗ @param id The id to set.∗/public void setId(long id) {

this. id = id;}/∗∗∗ @return Returns the login.∗/public String getLogin() {

return login;}/∗∗∗ @param login The login to set.∗/public void setLogin(String login) {

this. login = login;}/∗∗∗ @return Returns the nome.∗/

Page 100: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

99

public String getNome() {return nome;

}/∗∗∗ @param nome The nome to set.∗/public void setNome(String nome) {

this.nome = nome;}/∗∗∗ @return Returns the senha.∗/public String getSenha() {

return senha;}/∗∗∗ @param senha The senha to set.∗/public void setSenha(String senha) {

this.senha = senha;}

}

Page 101: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

100

5.1.16 SistemaAgendador/JavaSource/service/Hospital.java

/∗∗∗ Hospital.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package service;

public interface Hospital extends java.rmi.Remote {public java.lang.Object[] getMedicos(int especialidade) throws java.rmi.RemoteException;public java.lang.Object[] getMedicos(java.lang.String nome) throws java.rmi.RemoteException;public java.lang.Object[] getTodosMedicos() throws java.rmi.RemoteException;public beans.Medico getMedico(long medico) throws java.rmi.RemoteException;public void marcarConsulta(long consulta, beans.Paciente paciente) throws java.rmi.RemoteException;public void desmarcarConsulta(long consulta) throws java.rmi.RemoteException;public java.lang.Object[] getConsultasPaciente(long paciente) throws java.rmi.RemoteException;public java.lang.Object[] getConsultasMedicoPaciente(long medico, long paciente) throws java.rmi.RemoteException;public java.lang.Object[] getDisponiveisEspecialidade(int especialidade) throws java.rmi.RemoteException;public java.lang.Object[] getDisponiveisMedico(long medico) throws java.rmi.RemoteException;public beans.Consulta getConsulta(long consulta) throws java.rmi.RemoteException;

}

Page 102: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

101

5.1.17 SistemaAgendador/JavaSource/service/HospitalProxy.java

package service;

public class HospitalProxy implements service.Hospital {private String _endpoint = null;private service.Hospital hospital = null;

public HospitalProxy() {_initHospitalProxy();

}

private void _initHospitalProxy() {try {hospital = (new service.HospitalServiceLocator()).getHospital();if (hospital != null) {if (_endpoint != null)((javax.xml.rpc.Stub)hospital)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);

else_endpoint = (String)((javax.xml.rpc.Stub)hospital)._getProperty("javax.xml.rpc.service.endpoint.address");

}

}catch (javax.xml.rpc.ServiceException serviceException) {}

}

public String getEndpoint() {return _endpoint;

}

public void setEndpoint(String endpoint) {_endpoint = endpoint;if (hospital != null)((javax.xml.rpc.Stub)hospital)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);

}

Page 103: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

102

public service.Hospital getHospital() {if (hospital == null)_initHospitalProxy();

return hospital;}

public java.lang.Object[] getMedicos(int especialidade) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

return hospital.getMedicos(especialidade);}

public java.lang.Object[] getMedicos(java.lang.String nome) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

return hospital.getMedicos(nome);}

public java.lang.Object[] getTodosMedicos() throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

return hospital.getTodosMedicos();}

public beans.Medico getMedico(long medico) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

return hospital.getMedico(medico);}

public void marcarConsulta(long consulta, beans.Paciente paciente) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

hospital .marcarConsulta(consulta, paciente);

Page 104: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

103

}

public void desmarcarConsulta(long consulta) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

hospital .desmarcarConsulta(consulta);}

public java.lang.Object[] getConsultasPaciente(long paciente) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

return hospital.getConsultasPaciente(paciente);}

public java.lang.Object[] getConsultasMedicoPaciente(long medico, long paciente) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

return hospital.getConsultasMedicoPaciente(medico, paciente);}

public java.lang.Object[] getDisponiveisEspecialidade(int especialidade) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

return hospital.getDisponiveisEspecialidade(especialidade );}

public java.lang.Object[] getDisponiveisMedico(long medico) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

return hospital.getDisponiveisMedico(medico);}

public beans.Consulta getConsulta(long consulta) throws java.rmi.RemoteException{if (hospital == null)_initHospitalProxy();

Page 105: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

104

return hospital.getConsulta(consulta);}

}

Page 106: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

105

5.1.18 SistemaAgendador/JavaSource/service/HospitalService.java

/∗∗∗ HospitalService .java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package service;

public interface HospitalService extends javax.xml.rpc.Service {public java.lang.String getHospitalAddress();

public service.Hospital getHospital() throws javax.xml.rpc.ServiceException;

public service.Hospital getHospital(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;}

Page 107: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

106

5.1.19 SistemaAgendador/JavaSource/service/HospitalServiceLocator.java

/∗∗∗ HospitalServiceLocator.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package service;

public class HospitalServiceLocator extends org.apache.axis.client.Service implements service.HospitalService {

public HospitalServiceLocator() {}

public HospitalServiceLocator(org.apache.axis.EngineCon�guration con�g) {super(con�g);

}

public HospitalServiceLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException {super(wsdlLoc, sName);

}

// Use to get a proxy class for Hospitalprivate java.lang.String Hospital_address = "http://localhost:8080/SistemaHospital/services/Hospital";

public java.lang.String getHospitalAddress() {return Hospital_address;

}

// The WSDD service name defaults to the port name.private java.lang.String HospitalWSDDServiceName = "Hospital";

public java.lang.String getHospitalWSDDServiceName() {

Page 108: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

107

return HospitalWSDDServiceName;}

public void setHospitalWSDDServiceName(java.lang.String name) {HospitalWSDDServiceName = name;

}

public service.Hospital getHospital() throws javax.xml.rpc.ServiceException {java.net.URL endpoint;try {

endpoint = new java.net.URL(Hospital_address);}catch (java.net.MalformedURLException e) {

throw new javax.xml.rpc.ServiceException(e);}return getHospital(endpoint);

}

public service.Hospital getHospital(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {try {

service .HospitalSoapBindingStub _stub = new service.HospitalSoapBindingStub(portAddress, this);_stub.setPortName(getHospitalWSDDServiceName());return _stub;

}catch (org.apache.axis.AxisFault e) {

return null;}

}

public void setHospitalEndpointAddress(java.lang.String address) {Hospital_address = address;

}

/∗∗∗ For the given interface , get the stub implementation.

Page 109: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

108

∗ If this service has no port for the given interface ,∗ then ServiceException is thrown.∗/public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {

try {if ( service .Hospital.class.isAssignableFrom(serviceEndpointInterface)) {

service .HospitalSoapBindingStub _stub = new service.HospitalSoapBindingStub(new java.net.URL(Hospital_address), this);_stub.setPortName(getHospitalWSDDServiceName());return _stub;

}}catch (java.lang.Throwable t) {

throw new javax.xml.rpc.ServiceException(t);}throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));

}

/∗∗∗ For the given interface , get the stub implementation.∗ If this service has no port for the given interface ,∗ then ServiceException is thrown.∗/public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {

if (portName == null) {return getPort(serviceEndpointInterface);

}java.lang.String inputPortName = portName.getLocalPart();if ("Hospital".equals(inputPortName)) {

return getHospital();}else {

java.rmi.Remote _stub = getPort(serviceEndpointInterface);((org.apache.axis. client .Stub) _stub).setPortName(portName);return _stub;

}

Page 110: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

109

}

public javax.xml.namespace.QName getServiceName() {return new javax.xml.namespace.QName("http://service", "HospitalService");

}

private java. util .HashSet ports = null;

public java.util . Iterator getPorts() {if (ports == null) {

ports = new java.util.HashSet();ports.add(new javax.xml.namespace.QName("http://service", "Hospital"));

}return ports.iterator ();

}

/∗∗∗ Set the endpoint address for the speci�ed port name.∗/public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException {

if ("Hospital".equals(portName)) {setHospitalEndpointAddress(address);

}else

{ // Unknown Port Namethrow new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName);

}}

/∗∗∗ Set the endpoint address for the speci�ed port name.∗/public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException {

setEndpointAddress(portName.getLocalPart(), address);

Page 111: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

110

}

}

Page 112: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

111

5.1.20 SistemaAgendador/JavaSource/service/HospitalSoapBindingStub.java

/∗∗∗ HospitalSoapBindingStub.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package service;

public class HospitalSoapBindingStub extends org.apache.axis.client.Stub implements service.Hospital {private java. util .Vector cachedSerClasses = new java.util.Vector();private java. util .Vector cachedSerQNames = new java.util.Vector();private java. util .Vector cachedSerFactories = new java.util.Vector();private java. util .Vector cachedDeserFactories = new java.util.Vector();

static org.apache.axis. description .OperationDesc [] _operations;

static {_operations = new org.apache.axis.description.OperationDesc[11];_initOperationDesc1();_initOperationDesc2();

}

private static void _initOperationDesc1(){org.apache.axis. description .OperationDesc oper;org.apache.axis. description .ParameterDesc param;oper = new org.apache.axis.description.OperationDesc();oper.setName("getMedicos");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "especialidade"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://service", "ArrayOf_xsd_anyType"));oper.setReturnClass(java.lang.Object [].class);oper.setReturnQName(new javax.xml.namespace.QName("", "getMedicosReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);

Page 113: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

112

oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[0] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("getMedicos");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "nome"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://service", "ArrayOf_xsd_anyType"));oper.setReturnClass(java.lang.Object [].class);oper.setReturnQName(new javax.xml.namespace.QName("", "getMedicosReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[1] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("getTodosMedicos");oper.setReturnType(new javax.xml.namespace.QName("http://service", "ArrayOf_xsd_anyType"));oper.setReturnClass(java.lang.Object [].class);oper.setReturnQName(new javax.xml.namespace.QName("", "getTodosMedicosReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[2] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("getMedico");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "medico"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://beans", "Medico"));oper.setReturnClass(beans.Medico.class);oper.setReturnQName(new javax.xml.namespace.QName("", "getMedicoReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[3] = oper;

oper = new org.apache.axis.description.OperationDesc();

Page 114: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

113

oper.setName("marcarConsulta");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "consulta"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);oper.addParameter(param);param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "paciente"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://beans", "Paciente"), beans.Paciente.class, false, false);oper.addParameter(param);oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[4] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("desmarcarConsulta");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "consulta"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);oper.addParameter(param);oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[5] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("getConsultasPaciente");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "paciente"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://service", "ArrayOf_xsd_anyType"));oper.setReturnClass(java.lang.Object [].class);oper.setReturnQName(new javax.xml.namespace.QName("", "getConsultasPacienteReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[6] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("getConsultasMedicoPaciente");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "medico"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);oper.addParameter(param);param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "paciente"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);

Page 115: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

114

oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://service", "ArrayOf_xsd_anyType"));oper.setReturnClass(java.lang.Object [].class);oper.setReturnQName(new javax.xml.namespace.QName("", "getConsultasMedicoPacienteReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[7] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("getDisponiveisEspecialidade");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "especialidade"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://service", "ArrayOf_xsd_anyType"));oper.setReturnClass(java.lang.Object [].class);oper.setReturnQName(new javax.xml.namespace.QName("", "getDisponiveisEspecialidadeReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[8] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("getDisponiveisMedico");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "medico"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://service", "ArrayOf_xsd_anyType"));oper.setReturnClass(java.lang.Object [].class);oper.setReturnQName(new javax.xml.namespace.QName("", "getDisponiveisMedicoReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[9] = oper;

}

private static void _initOperationDesc2(){org.apache.axis. description .OperationDesc oper;org.apache.axis. description .ParameterDesc param;

Page 116: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

115

oper = new org.apache.axis.description.OperationDesc();oper.setName("getConsulta");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "consulta"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://beans", "Consulta"));oper.setReturnClass(beans.Consulta.class);oper.setReturnQName(new javax.xml.namespace.QName("", "getConsultaReturn"));oper. setStyle (org.apache.axis.constants.Style .RPC);oper.setUse(org.apache.axis.constants.Use.ENCODED);_operations[10] = oper;

}

public HospitalSoapBindingStub() throws org.apache.axis.AxisFault {this(null);

}

public HospitalSoapBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {this(service );super.cachedEndpoint = endpointURL;

}

public HospitalSoapBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {if ( service == null) {

super.service = new org.apache.axis.client.Service ();} else {

super.service = service;}((org.apache.axis. client .Service)super.service).setTypeMappingVersion("1.2");

java.lang.Class cls ;javax.xml.namespace.QName qName;javax.xml.namespace.QName qName2;java.lang.Class beansf = org.apache.axis.encoding.ser .BeanSerializerFactory.class;java.lang.Class beandf = org.apache.axis.encoding.ser.BeanDeserializerFactory.class;java.lang.Class enumsf = org.apache.axis.encoding.ser.EnumSerializerFactory.class;

Page 117: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

116

java.lang.Class enumdf = org.apache.axis.encoding.ser.EnumDeserializerFactory.class;java.lang.Class arraysf = org.apache.axis.encoding.ser .ArraySerializerFactory .class;java.lang.Class arraydf = org.apache.axis.encoding.ser .ArrayDeserializerFactory.class;java.lang.Class simplesf = org.apache.axis.encoding.ser .SimpleSerializerFactory .class;java.lang.Class simpledf = org.apache.axis.encoding.ser .SimpleDeserializerFactory.class;java.lang.Class simplelistsf = org.apache.axis.encoding.ser . SimpleListSerializerFactory .class;java.lang.Class simplelistdf = org.apache.axis.encoding.ser .SimpleListDeserializerFactory.class;qName = new javax.xml.namespace.QName("http://beans", "Consulta");cachedSerQNames.add(qName);cls = beans.Consulta.class;cachedSerClasses.add(cls);cachedSerFactories.add(beansf);cachedDeserFactories.add(beandf);

qName = new javax.xml.namespace.QName("http://beans", "Medico");cachedSerQNames.add(qName);cls = beans.Medico.class;cachedSerClasses.add(cls);cachedSerFactories.add(beansf);cachedDeserFactories.add(beandf);

qName = new javax.xml.namespace.QName("http://beans", "Paciente");cachedSerQNames.add(qName);cls = beans.Paciente.class;cachedSerClasses.add(cls);cachedSerFactories.add(beansf);cachedDeserFactories.add(beandf);

qName = new javax.xml.namespace.QName("http://service", "ArrayOf_xsd_anyType");cachedSerQNames.add(qName);cls = java.lang.Object [].class;cachedSerClasses.add(cls);qName = new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "anyType");qName2 = null;cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2));

Page 118: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

117

cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory());

}

protected org.apache.axis.client.Call createCall () throws java.rmi.RemoteException {try {

org.apache.axis. client .Call _call = super._createCall();if (super.maintainSessionSet) {

_call.setMaintainSession(super.maintainSession);}if (super.cachedUsername != null) {

_call.setUsername(super.cachedUsername);}if (super.cachedPassword != null) {

_call.setPassword(super.cachedPassword);}if (super.cachedEndpoint != null) {

_call.setTargetEndpointAddress(super.cachedEndpoint);}if (super.cachedTimeout != null) {

_call.setTimeout(super.cachedTimeout);}if (super.cachedPortName != null) {

_call.setPortName(super.cachedPortName);}java. util .Enumeration keys = super.cachedProperties.keys();while (keys.hasMoreElements()) {

java.lang.String key = (java.lang.String) keys.nextElement();_call.setProperty(key, super.cachedProperties.get(key));

}// All the type mapping information is registered// when the �rst call is made.// The type mapping information is actually registered in// the TypeMappingRegistry of the service, which// is the reason why registration is only needed for the �rst call .

Page 119: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

118

synchronized (this) {if ( �rstCall ()) {

// must set encoding style before registering serializers_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setEncodingStyle(org.apache.axis.Constants.URI_SOAP11_ENC);for (int i = 0; i < cachedSerFactories.size (); ++i) {

java.lang.Class cls = (java.lang.Class) cachedSerClasses.get(i );javax.xml.namespace.QName qName =

(javax.xml.namespace.QName) cachedSerQNames.get(i);java.lang.Object x = cachedSerFactories.get(i);if (x instanceof Class) {

java.lang.Class sf = (java.lang.Class)cachedSerFactories.get( i );

java.lang.Class df = (java.lang.Class)cachedDeserFactories.get(i );

_call.registerTypeMapping(cls, qName, sf, df, false );}else if (x instanceof javax.xml.rpc.encoding.SerializerFactory) {

org.apache.axis.encoding.SerializerFactory sf = (org.apache.axis.encoding.SerializerFactory )cachedSerFactories.get( i );

org.apache.axis.encoding.DeserializerFactory df = (org.apache.axis.encoding.DeserializerFactory)cachedDeserFactories.get(i );

_call.registerTypeMapping(cls, qName, sf, df, false );}

}}

}return _call;

}catch (java.lang.Throwable _t) {

throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t);}

}

public java.lang.Object[] getMedicos(int especialidade) throws java.rmi.RemoteException {

Page 120: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

119

if (super.cachedEndpoint == null) {throw new org.apache.axis.NoEndPointException();

}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[0]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getMedicos"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Integer(especialidade)});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (java.lang.Object[]) _resp;} catch (java.lang.Exception _exception) {

return (java.lang.Object[]) org.apache.axis. utils .JavaUtils.convert(_resp, java.lang.Object [].class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public java.lang.Object[] getMedicos(java.lang.String nome) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();

Page 121: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

120

_call.setOperation(_operations[1]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getMedicos"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {nome});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (java.lang.Object[]) _resp;} catch (java.lang.Exception _exception) {

return (java.lang.Object[]) org.apache.axis. utils .JavaUtils.convert(_resp, java.lang.Object [].class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public java.lang.Object[] getTodosMedicos() throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[2]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);

Page 122: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

121

_call.setOperationName(new javax.xml.namespace.QName("http://service", "getTodosMedicos"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (java.lang.Object[]) _resp;} catch (java.lang.Exception _exception) {

return (java.lang.Object[]) org.apache.axis. utils .JavaUtils.convert(_resp, java.lang.Object [].class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public beans.Medico getMedico(long medico) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[3]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getMedico"));

setRequestHeaders(_call);setAttachments(_call);

Page 123: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

122

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(medico)});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (beans.Medico) _resp;} catch (java.lang.Exception _exception) {

return (beans.Medico) org.apache.axis.utils .JavaUtils.convert(_resp, beans.Medico.class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public void marcarConsulta(long consulta, beans.Paciente paciente) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[4]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "marcarConsulta"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(consulta), paciente});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

Page 124: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

123

}extractAttachments(_call);

} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public void desmarcarConsulta(long consulta) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[5]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "desmarcarConsulta"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(consulta)});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}extractAttachments(_call);

} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public java.lang.Object[] getConsultasPaciente(long paciente) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}

Page 125: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

124

org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[6]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getConsultasPaciente"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(paciente)});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (java.lang.Object[]) _resp;} catch (java.lang.Exception _exception) {

return (java.lang.Object[]) org.apache.axis. utils .JavaUtils.convert(_resp, java.lang.Object [].class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public java.lang.Object[] getConsultasMedicoPaciente(long medico, long paciente) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[7]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");

Page 126: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

125

_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getConsultasMedicoPaciente"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(medico), new java.lang.Long(paciente)});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (java.lang.Object[]) _resp;} catch (java.lang.Exception _exception) {

return (java.lang.Object[]) org.apache.axis. utils .JavaUtils.convert(_resp, java.lang.Object [].class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public java.lang.Object[] getDisponiveisEspecialidade(int especialidade) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[8]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getDisponiveisEspecialidade"));

setRequestHeaders(_call);

Page 127: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

126

setAttachments(_call);try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Integer(especialidade)});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (java.lang.Object[]) _resp;} catch (java.lang.Exception _exception) {

return (java.lang.Object[]) org.apache.axis. utils .JavaUtils.convert(_resp, java.lang.Object [].class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public java.lang.Object[] getDisponiveisMedico(long medico) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[9]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getDisponiveisMedico"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(medico)});

if (_resp instanceof java.rmi.RemoteException) {

Page 128: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

127

throw (java.rmi.RemoteException)_resp;}else {

extractAttachments(_call);try {

return (java.lang.Object[]) _resp;} catch (java.lang.Exception _exception) {

return (java.lang.Object[]) org.apache.axis. utils .JavaUtils.convert(_resp, java.lang.Object [].class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public beans.Consulta getConsulta(long consulta) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[10]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getConsulta"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(consulta)});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);

Page 129: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

128

try {return (beans.Consulta) _resp;

} catch (java.lang.Exception _exception) {return (beans.Consulta) org.apache.axis.utils .JavaUtils.convert(_resp, beans.Consulta.class);

}}

} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

}

Page 130: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

129

5.1.21 SistemaAgendador/JavaSource/service/SUS.java

/∗∗∗ SUS.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package service;

public interface SUS extends java.rmi.Remote {public void cadastrarPaciente(beans.Paciente p) throws java.rmi.RemoteException;public void alterarCadastroPaciente(beans.Paciente p) throws java.rmi.RemoteException;public java.lang.Object[] buscar(java.lang.String nome) throws java.rmi.RemoteException;public beans.Paciente getPaciente(long paciente) throws java.rmi.RemoteException;

}

Page 131: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

130

5.1.22 SistemaAgendador/JavaSource/service/SUSProxy.java

package service;

public class SUSProxy implements service.SUS {private String _endpoint = null;private service.SUS sUS = null;

public SUSProxy() {_initSUSProxy();

}

private void _initSUSProxy() {try {sUS = (new service.SUSServiceLocator()).getSUS();if (sUS != null) {if (_endpoint != null)((javax.xml.rpc.Stub)sUS)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);

else_endpoint = (String)((javax.xml.rpc.Stub)sUS)._getProperty("javax.xml.rpc.service.endpoint.address");

}

}catch (javax.xml.rpc.ServiceException serviceException) {}

}

public String getEndpoint() {return _endpoint;

}

public void setEndpoint(String endpoint) {_endpoint = endpoint;if (sUS != null)((javax.xml.rpc.Stub)sUS)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);

}

Page 132: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

131

public service.SUS getSUS() {if (sUS == null)_initSUSProxy();

return sUS;}

public void cadastrarPaciente(beans.Paciente p) throws java.rmi.RemoteException{if (sUS == null)_initSUSProxy();

sUS.cadastrarPaciente(p);}

public void alterarCadastroPaciente(beans.Paciente p) throws java.rmi.RemoteException{if (sUS == null)_initSUSProxy();

sUS.alterarCadastroPaciente(p);}

public java.lang.Object[] buscar(java.lang.String nome) throws java.rmi.RemoteException{if (sUS == null)_initSUSProxy();

return sUS.buscar(nome);}

public beans.Paciente getPaciente(long paciente) throws java.rmi.RemoteException{if (sUS == null)_initSUSProxy();

return sUS.getPaciente(paciente);}

}

Page 133: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

132

5.1.23 SistemaAgendador/JavaSource/service/SUSService.java

/∗∗∗ SUSService.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package service;

public interface SUSService extends javax.xml.rpc.Service {public java.lang.String getSUSAddress();

public service.SUS getSUS() throws javax.xml.rpc.ServiceException;

public service.SUS getSUS(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;}

Page 134: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

133

5.1.24 SistemaAgendador/JavaSource/service/SUSServiceLocator.java

/∗∗∗ SUSServiceLocator.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package service;

public class SUSServiceLocator extends org.apache.axis.client.Service implements service.SUSService {

public SUSServiceLocator() {}

public SUSServiceLocator(org.apache.axis.EngineCon�guration con�g) {super(con�g);

}

public SUSServiceLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException {super(wsdlLoc, sName);

}

// Use to get a proxy class for SUSprivate java.lang.String SUS_address = "http://localhost:8080/SistemaSUS/services/SUS";

public java.lang.String getSUSAddress() {return SUS_address;

}

// The WSDD service name defaults to the port name.private java.lang.String SUSWSDDServiceName = "SUS";

public java.lang.String getSUSWSDDServiceName() {

Page 135: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

134

return SUSWSDDServiceName;}

public void setSUSWSDDServiceName(java.lang.String name) {SUSWSDDServiceName = name;

}

public service.SUS getSUS() throws javax.xml.rpc.ServiceException {java.net.URL endpoint;try {

endpoint = new java.net.URL(SUS_address);}catch (java.net.MalformedURLException e) {

throw new javax.xml.rpc.ServiceException(e);}return getSUS(endpoint);

}

public service.SUS getSUS(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {try {

service .SUSSoapBindingStub _stub = new service.SUSSoapBindingStub(portAddress, this);_stub.setPortName(getSUSWSDDServiceName());return _stub;

}catch (org.apache.axis.AxisFault e) {

return null;}

}

public void setSUSEndpointAddress(java.lang.String address) {SUS_address = address;

}

/∗∗∗ For the given interface , get the stub implementation.

Page 136: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

135

∗ If this service has no port for the given interface ,∗ then ServiceException is thrown.∗/public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {

try {if ( service .SUS.class.isAssignableFrom(serviceEndpointInterface)) {

service .SUSSoapBindingStub _stub = new service.SUSSoapBindingStub(new java.net.URL(SUS_address), this);_stub.setPortName(getSUSWSDDServiceName());return _stub;

}}catch (java.lang.Throwable t) {

throw new javax.xml.rpc.ServiceException(t);}throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));

}

/∗∗∗ For the given interface , get the stub implementation.∗ If this service has no port for the given interface ,∗ then ServiceException is thrown.∗/public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {

if (portName == null) {return getPort(serviceEndpointInterface);

}java.lang.String inputPortName = portName.getLocalPart();if ("SUS".equals(inputPortName)) {

return getSUS();}else {

java.rmi.Remote _stub = getPort(serviceEndpointInterface);((org.apache.axis. client .Stub) _stub).setPortName(portName);return _stub;

}

Page 137: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

136

}

public javax.xml.namespace.QName getServiceName() {return new javax.xml.namespace.QName("http://service", "SUSService");

}

private java. util .HashSet ports = null;

public java.util . Iterator getPorts() {if (ports == null) {

ports = new java.util.HashSet();ports.add(new javax.xml.namespace.QName("http://service", "SUS"));

}return ports.iterator ();

}

/∗∗∗ Set the endpoint address for the speci�ed port name.∗/public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException {

if ("SUS".equals(portName)) {setSUSEndpointAddress(address);

}else

{ // Unknown Port Namethrow new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName);

}}

/∗∗∗ Set the endpoint address for the speci�ed port name.∗/public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException {

setEndpointAddress(portName.getLocalPart(), address);

Page 138: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

137

}

}

Page 139: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

138

5.1.25 SistemaAgendador/JavaSource/service/SUSSoapBindingStub.java

/∗∗∗ SUSSoapBindingStub.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package service;

public class SUSSoapBindingStub extends org.apache.axis.client.Stub implements service.SUS {private java. util .Vector cachedSerClasses = new java.util.Vector();private java. util .Vector cachedSerQNames = new java.util.Vector();private java. util .Vector cachedSerFactories = new java.util.Vector();private java. util .Vector cachedDeserFactories = new java.util.Vector();

static org.apache.axis. description .OperationDesc [] _operations;

static {_operations = new org.apache.axis.description.OperationDesc[4];_initOperationDesc1();

}

private static void _initOperationDesc1(){org.apache.axis. description .OperationDesc oper;org.apache.axis. description .ParameterDesc param;oper = new org.apache.axis.description.OperationDesc();oper.setName("cadastrarPaciente");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://service", "p"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://beans", "Paciente"), beans.Paciente.class, false, false);oper.addParameter(param);oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);oper. setStyle (org.apache.axis.constants.Style .WRAPPED);oper.setUse(org.apache.axis.constants.Use.LITERAL);_operations[0] = oper;

Page 140: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

139

oper = new org.apache.axis.description.OperationDesc();oper.setName("alterarCadastroPaciente");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://service", "p"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://beans", "Paciente"), beans.Paciente.class, false, false);oper.addParameter(param);oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);oper. setStyle (org.apache.axis.constants.Style .WRAPPED);oper.setUse(org.apache.axis.constants.Use.LITERAL);_operations[1] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("buscar");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://service", "nome"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "anyType"));oper.setReturnClass(java.lang.Object [].class);oper.setReturnQName(new javax.xml.namespace.QName("http://service", "buscarReturn"));oper. setStyle (org.apache.axis.constants.Style .WRAPPED);oper.setUse(org.apache.axis.constants.Use.LITERAL);_operations[2] = oper;

oper = new org.apache.axis.description.OperationDesc();oper.setName("getPaciente");param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://service", "paciente"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false);oper.addParameter(param);oper.setReturnType(new javax.xml.namespace.QName("http://beans", "Paciente"));oper.setReturnClass(beans.Paciente.class);oper.setReturnQName(new javax.xml.namespace.QName("http://service", "getPacienteReturn"));oper. setStyle (org.apache.axis.constants.Style .WRAPPED);oper.setUse(org.apache.axis.constants.Use.LITERAL);_operations[3] = oper;

}

public SUSSoapBindingStub() throws org.apache.axis.AxisFault {this(null);

Page 141: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

140

}

public SUSSoapBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {this(service );super.cachedEndpoint = endpointURL;

}

public SUSSoapBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {if ( service == null) {

super.service = new org.apache.axis.client.Service ();} else {

super.service = service;}((org.apache.axis. client .Service)super.service).setTypeMappingVersion("1.2");

java.lang.Class cls ;javax.xml.namespace.QName qName;javax.xml.namespace.QName qName2;java.lang.Class beansf = org.apache.axis.encoding.ser .BeanSerializerFactory.class;java.lang.Class beandf = org.apache.axis.encoding.ser.BeanDeserializerFactory.class;java.lang.Class enumsf = org.apache.axis.encoding.ser.EnumSerializerFactory.class;java.lang.Class enumdf = org.apache.axis.encoding.ser.EnumDeserializerFactory.class;java.lang.Class arraysf = org.apache.axis.encoding.ser .ArraySerializerFactory .class;java.lang.Class arraydf = org.apache.axis.encoding.ser .ArrayDeserializerFactory.class;java.lang.Class simplesf = org.apache.axis.encoding.ser .SimpleSerializerFactory .class;java.lang.Class simpledf = org.apache.axis.encoding.ser .SimpleDeserializerFactory.class;java.lang.Class simplelistsf = org.apache.axis.encoding.ser . SimpleListSerializerFactory .class;java.lang.Class simplelistdf = org.apache.axis.encoding.ser .SimpleListDeserializerFactory.class;qName = new javax.xml.namespace.QName("http://beans", "Endereco");cachedSerQNames.add(qName);cls = beans.Endereco.class;cachedSerClasses.add(cls);cachedSerFactories.add(beansf);cachedDeserFactories.add(beandf);

qName = new javax.xml.namespace.QName("http://beans", "Paciente");

Page 142: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

141

cachedSerQNames.add(qName);cls = beans.Paciente.class;cachedSerClasses.add(cls);cachedSerFactories.add(beansf);cachedDeserFactories.add(beandf);

}

protected org.apache.axis.client.Call createCall () throws java.rmi.RemoteException {try {

org.apache.axis. client .Call _call = super._createCall();if (super.maintainSessionSet) {

_call.setMaintainSession(super.maintainSession);}if (super.cachedUsername != null) {

_call.setUsername(super.cachedUsername);}if (super.cachedPassword != null) {

_call.setPassword(super.cachedPassword);}if (super.cachedEndpoint != null) {

_call.setTargetEndpointAddress(super.cachedEndpoint);}if (super.cachedTimeout != null) {

_call.setTimeout(super.cachedTimeout);}if (super.cachedPortName != null) {

_call.setPortName(super.cachedPortName);}java. util .Enumeration keys = super.cachedProperties.keys();while (keys.hasMoreElements()) {

java.lang.String key = (java.lang.String) keys.nextElement();_call.setProperty(key, super.cachedProperties.get(key));

}// All the type mapping information is registered

Page 143: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

142

// when the �rst call is made.// The type mapping information is actually registered in// the TypeMappingRegistry of the service, which// is the reason why registration is only needed for the �rst call .synchronized (this) {

if ( �rstCall ()) {// must set encoding style before registering serializers_call.setEncodingStyle(null);for (int i = 0; i < cachedSerFactories.size (); ++i) {

java.lang.Class cls = (java.lang.Class) cachedSerClasses.get(i );javax.xml.namespace.QName qName =

(javax.xml.namespace.QName) cachedSerQNames.get(i);java.lang.Object x = cachedSerFactories.get(i);if (x instanceof Class) {

java.lang.Class sf = (java.lang.Class)cachedSerFactories.get( i );

java.lang.Class df = (java.lang.Class)cachedDeserFactories.get(i );

_call.registerTypeMapping(cls, qName, sf, df, false );}else if (x instanceof javax.xml.rpc.encoding.SerializerFactory) {

org.apache.axis.encoding.SerializerFactory sf = (org.apache.axis.encoding.SerializerFactory )cachedSerFactories.get( i );

org.apache.axis.encoding.DeserializerFactory df = (org.apache.axis.encoding.DeserializerFactory)cachedDeserFactories.get(i );

_call.registerTypeMapping(cls, qName, sf, df, false );}

}}

}return _call;

}catch (java.lang.Throwable _t) {

throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t);}

Page 144: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

143

}

public void cadastrarPaciente(beans.Paciente p) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[0]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setEncodingStyle(null);_call.setProperty(org.apache.axis. client .Call .SEND_TYPE_ATTR, Boolean.FALSE);_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "cadastrarPaciente"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {p});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}extractAttachments(_call);

} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public void alterarCadastroPaciente(beans.Paciente p) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[1]);

Page 145: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

144

_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setEncodingStyle(null);_call.setProperty(org.apache.axis. client .Call .SEND_TYPE_ATTR, Boolean.FALSE);_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "alterarCadastroPaciente"));

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {p});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}extractAttachments(_call);

} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public java.lang.Object[] buscar(java.lang.String nome) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[2]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setEncodingStyle(null);_call.setProperty(org.apache.axis. client .Call .SEND_TYPE_ATTR, Boolean.FALSE);_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "buscar"));

Page 146: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

145

setRequestHeaders(_call);setAttachments(_call);

try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {nome});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (java.lang.Object[]) _resp;} catch (java.lang.Exception _exception) {

return (java.lang.Object[]) org.apache.axis. utils .JavaUtils.convert(_resp, java.lang.Object [].class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

public beans.Paciente getPaciente(long paciente) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {

throw new org.apache.axis.NoEndPointException();}org.apache.axis. client .Call _call = createCall();_call.setOperation(_operations[3]);_call.setUseSOAPAction(true);_call.setSOAPActionURI("");_call.setEncodingStyle(null);_call.setProperty(org.apache.axis. client .Call .SEND_TYPE_ATTR, Boolean.FALSE);_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);_call.setOperationName(new javax.xml.namespace.QName("http://service", "getPaciente"));

setRequestHeaders(_call);

Page 147: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

146

setAttachments(_call);try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(paciente)});

if (_resp instanceof java.rmi.RemoteException) {throw (java.rmi.RemoteException)_resp;

}else {

extractAttachments(_call);try {

return (beans.Paciente) _resp;} catch (java.lang.Exception _exception) {

return (beans.Paciente) org.apache.axis. utils .JavaUtils.convert(_resp, beans.Paciente.class);}

}} catch (org.apache.axis.AxisFault axisFaultException) {throw axisFaultException;

}}

}

Page 148: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

147

5.1.26 SistemaAgendador/JavaSource/service/TestaServiceHospital.java

package service;

import java.rmi.RemoteException;

import beans.Consulta;import beans.Medico;import beans.Paciente;

public class TestaServiceHospital implements Hospital{

private Hospital hospital;

public TestaServiceHospital() {hospital = new HospitalProxy();

}

private static void imprimirConsulta(Object o){Consulta consulta = (Consulta) o;System.out.print(consulta.getId ());System.out.print(" − ");System.out.print(consulta.getData());System.out.print(" − ");System.out.print(consulta.getHora());System.out.print(" − ");System.out.println(consulta.getMedico().getCrm());

}

private static void imprimirMedico(Object o){Medico medico = (Medico) o;System.out.print(medico.getCrm());System.out.print(" − ");System.out.print(medico.getNome());System.out.print(" − ");System.out.println(medico.getEspecialidade());

Page 149: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

148

}

public static void main(String[] args) {try {

Object o = new TestaServiceHospital().getMedico(232500);imprimirMedico(o);Object [] os = new TestaServiceHospital().getMedicos(2);for (Object object : os) {

imprimirMedico(object);}

} catch (RemoteException e) {e.printStackTrace();

}

}

public Object[] getMedicos(int especialidade) throws RemoteException {return hospital.getMedicos(especialidade);

}

public Object[] getMedicos(String nome) throws RemoteException {return hospital.getMedicos(nome);

}

public Object[] getTodosMedicos() throws RemoteException {return hospital.getTodosMedicos();

}

public Medico getMedico(long medico) throws RemoteException {return hospital.getMedico(medico);

}

public void marcarConsulta(long consulta, Paciente paciente) throws RemoteException {hospital .marcarConsulta(consulta, paciente);

}

Page 150: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

149

public void desmarcarConsulta(long consulta) throws RemoteException {hospital .desmarcarConsulta(consulta);

}

public Object[] getConsultasPaciente(long paciente) throws RemoteException {return hospital.getConsultasPaciente(paciente);

}

public Object[] getConsultasMedicoPaciente(long medico, long paciente) throws RemoteException {return hospital.getConsultasMedicoPaciente(medico, paciente);

}

public Object[] getDisponiveisEspecialidade(int especialidade) throws RemoteException {return hospital.getDisponiveisEspecialidade(especialidade );

}

public Object[] getDisponiveisMedico(long medico) throws RemoteException {return hospital.getDisponiveisMedico(medico);

}

public Consulta getConsulta(long consulta) throws RemoteException {return hospital.getConsulta(consulta);

}

}

Page 151: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

150

5.1.27 SistemaAgendador/JavaSource/service/TestaServiceSUS.java

package service;

import java.rmi.RemoteException;

import beans.Paciente;

public class TestaServiceSUS implements SUS{

private SUSProxy proxy;

public TestaServiceSUS() {proxy = new SUSProxy();

}

private static void imprimirPaciente(Object o){Paciente p = (Paciente) o;System.out.print(p.getCartaoSus());System.out.print(" − ");System.out.print(p.getNome());System.out.print(" − ");System.out.print(p.getConjuge());System.out.print(" − ");System.out.print(p.getEndereco().getRua());

}

/∗∗∗ @param args∗/public static void main(String[] args) {

try {Object[] resp = new TestaServiceSUS().buscar("telho");imprimirPaciente(resp [0]);

} catch (RemoteException e) {// TODO Auto−generated catch block

Page 152: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

151

e.printStackTrace();}

}

public void cadastrarPaciente(Paciente p) throws RemoteException {proxy.cadastrarPaciente(p);

}

public void alterarCadastroPaciente(Paciente p) throws RemoteException {proxy.alterarCadastroPaciente(p);

}

public Object[] buscar(String nome) throws RemoteException {return proxy.buscar(nome);

}

public Paciente getPaciente(long paciente) throws RemoteException {return proxy.getPaciente(paciente);

}}

Page 153: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

152

5.1.28 SistemaAgendador/JavaSource/uteis/Constantes.java

package uteis;

public interface Constantes {

public enum Especialidade {

CARDIOLOGISTA, ORTOPEDISTA, GINECOLOGISTA, OFTALMOLOGISTA, UROLOGISTA, GERAL, PISQUIATRA, DERMATOLOGISTA, OTORRINO,};

public enum EstadoCivil{SOLTEIRO, CASADO, DIVORCIADO, JUNTO, VIUVO

}

public enum Escolaridade{NAO_FREQUENTOU, PRIMARIO_INCOMPLETO, PRIMARIO, FUNDAMENTAL_INCOMPLETO, FUNDAMENTAL, MEDIO_INCOMPLETO, MEDIO, SUPERIOR_INCOMPLETO, SUPERIOR, MESTRE, DOUTOR

}}

Page 154: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

153

5.1.29 SistemaAgendador/JavaSource/uteis/ConversorPaciente.java

package uteis;

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;

import beans.Endereco;import beans.Paciente;

public class ConversorPaciente {

private long cartaoSus;

private String nome;

private String pai;

private String mae;

private String conjuge;

private String dataNascimento;

private String nacionalidade;

private String naturalidade;

private String nomeEmpresa;

private String sexo;

private String rua;

private int numero;

Page 155: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

154

private String complemento;

private String bairro;

private String cidade;

private String estado;

private int estadoCivil;

private int escolaridade;

/∗∗∗ @return Returns the bairro.∗/public String getBairro() {

return bairro;}

/∗∗∗ @param bairro∗ The bairro to set .∗/public void setBairro(String bairro) {

this.bairro = bairro;}

/∗∗∗ @return Returns the cartaoSus.∗/public long getCartaoSus() {

return cartaoSus;}

Page 156: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

155

/∗∗∗ @param cartaoSus∗ The cartaoSus to set.∗/public void setCartaoSus(long cartaoSus) {

this.cartaoSus = cartaoSus;}

/∗∗∗ @return Returns the cidade.∗/public String getCidade() {

return cidade;}

/∗∗∗ @param cidade∗ The cidade to set .∗/public void setCidade(String cidade) {

this.cidade = cidade;}

/∗∗∗ @return Returns the complemento.∗/public String getComplemento() {

return complemento;}

/∗∗∗ @param complemento∗ The complemento to set.∗/public void setComplemento(String complemento) {

Page 157: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

156

this.complemento = complemento;}

/∗∗∗ @return Returns the conjuge.∗/public String getConjuge() {

return conjuge;}

/∗∗∗ @param conjuge∗ The conjuge to set.∗/public void setConjuge(String conjuge) {

this.conjuge = conjuge;}

/∗∗∗ @return Returns the dataNascimento.∗/public String getDataNascimento() {

return dataNascimento;}

/∗∗∗ @param dataNascimento∗ The dataNascimento to set.∗/public void setDataNascimento(String dataNascimento) {

this.dataNascimento = dataNascimento;}

/∗∗∗ @return Returns the escolaridade.

Page 158: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

157

∗/public int getEscolaridade() {

return escolaridade;}

/∗∗∗ @param escolaridade∗ The escolaridade to set .∗/public void setEscolaridade(int escolaridade) {

this. escolaridade = escolaridade;}

/∗∗∗ @return Returns the estado.∗/public String getEstado() {

return estado;}

/∗∗∗ @param estado∗ The estado to set .∗/public void setEstado(String estado) {

this.estado = estado;}

/∗∗∗ @return Returns the estadoCivil.∗/public int getEstadoCivil() {

return estadoCivil;}

Page 159: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

158

/∗∗∗ @param estadoCivil∗ The estadoCivil to set .∗/public void setEstadoCivil(int estadoCivil) {

this.estadoCivil = estadoCivil;}

/∗∗∗ @return Returns the mae.∗/public String getMae() {

return mae;}

/∗∗∗ @param mae∗ The mae to set.∗/public void setMae(String mae) {

this.mae = mae;}

/∗∗∗ @return Returns the nacionalidade.∗/public String getNacionalidade() {

return nacionalidade;}

/∗∗∗ @param nacionalidade∗ The nacionalidade to set.∗/public void setNacionalidade(String nacionalidade) {

Page 160: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

159

this.nacionalidade = nacionalidade;}

/∗∗∗ @return Returns the naturalidade.∗/public String getNaturalidade() {

return naturalidade;}

/∗∗∗ @param naturalidade∗ The naturalidade to set .∗/public void setNaturalidade(String naturalidade) {

this.naturalidade = naturalidade;}

/∗∗∗ @return Returns the nome.∗/public String getNome() {

return nome;}

/∗∗∗ @param nome∗ The nome to set.∗/public void setNome(String nome) {

this.nome = nome;}

/∗∗∗ @return Returns the nomeEmpresa.

Page 161: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

160

∗/public String getNomeEmpresa() {

return nomeEmpresa;}

/∗∗∗ @param nomeEmpresa∗ The nomeEmpresa to set.∗/public void setNomeEmpresa(String nomeEmpresa) {

this.nomeEmpresa = nomeEmpresa;}

/∗∗∗ @return Returns the numero.∗/public int getNumero() {

return numero;}

/∗∗∗ @param numero∗ The numero to set.∗/public void setNumero(int numero) {

this.numero = numero;}

/∗∗∗ @return Returns the pai.∗/public String getPai() {

return pai;}

Page 162: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

161

/∗∗∗ @param pai∗ The pai to set .∗/public void setPai(String pai) {

this.pai = pai;}

/∗∗∗ @return Returns the rua.∗/public String getRua() {

return rua;}

/∗∗∗ @param rua∗ The rua to set.∗/public void setRua(String rua) {

this.rua = rua;}

/∗∗∗ @return Returns the sexo.∗/public String getSexo() {

return sexo;}

/∗∗∗ @param sexo∗ The sexo to set .∗/public void setSexo(String sexo) {

Page 163: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

162

this.sexo = sexo;}

public Paciente converter() {Paciente p = new Paciente();p.setCartaoSus(getCartaoSus());p.setConjuge(getConjuge());p.setDataNascimento(Calendar.getInstance());try {

p.getDataNascimento().setTime(new SimpleDateFormat("dd/MM/yyyy")

.parse(getDataNascimento()));} catch (ParseException e) {

System.err.println("erro na ãconverso de datas");}p.setEndereco(new Endereco());p.setEstadoCivil(getEstadoCivil ());p.setMae(getMae());p.setNacionalidade(getNacionalidade());p.setNaturalidade(getNaturalidade());p.setNome(getNome());p.setNomeEmpresa(getNomeEmpresa());p.setPai(getPai ());p.setSexo(getSexo());p.getEndereco().setBairro(getBairro ());p.getEndereco().setCidade(getCidade());p.getEndereco().setComplemento(getComplemento());p.getEndereco().setEstado(getEstado());p.getEndereco().setNumero(getNumero());p.getEndereco().setRua(getRua());return p;

}

public ConversorPaciente converter(Paciente paciente) {setCartaoSus(paciente.getCartaoSus());

Page 164: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

163

setConjuge(paciente.getConjuge());setDataNascimento(new SimpleDateFormat("dd/MM/yyyy").format(paciente

.getDataNascimento().getTime()));setEstadoCivil(paciente.getEstadoCivil ());setMae(paciente.getMae());setNacionalidade(paciente.getNacionalidade());setNaturalidade(paciente.getNaturalidade());setNome(paciente.getNome());setNomeEmpresa(paciente.getNomeEmpresa());setPai(paciente.getPai ());setSexo(paciente.getSexo());setBairro(paciente.getEndereco().getBairro());setCidade(paciente.getEndereco().getCidade());setComplemento(paciente.getEndereco().getComplemento());setEstado(paciente.getEndereco().getEstado());setNumero(paciente.getEndereco().getNumero());setRua(paciente.getEndereco().getRua());return this;

}}

Page 165: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

164

5.1.30 SistemaAgendador/JavaSource/beans/Hospital.hbm.xml

<?xml version="1.0"?><!DOCTYPE hibernate−mapping PUBLIC

"−//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge .net/hibernate−mapping−3.0.dtd">

<hibernate−mapping><class name="beans.Hospital" table="HOSPITAIS">

<id name="id"><column name="ID" not−null="true"/><generator class="increment"/>

</id>

<property name="nome"><column name="NOME" length="30" not−null="true"/>

</property>

<property name="url"><column name="URL" length="50" not−null="true"/>

</property>

</class></hibernate−mapping>

Page 166: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

165

5.1.31 SistemaAgendador/JavaSource/beans/Usuario.hbm.xml

<?xml version="1.0"?><!DOCTYPE hibernate−mapping PUBLIC

"−//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge .net/hibernate−mapping−3.0.dtd">

<hibernate−mapping><class name="beans.Usuario" table="USUARIOS">

<id name="id"><column name="ID" not−null="true"/><generator class="increment"/>

</id>

<property name="nome"><column name="NOME" length="30" not−null="true"/>

</property>

<property name="login"><column name="LOGIN" length="15" not−null="true" unique="true"/>

</property>

<property name="senha"><column name="SENHA" length="10" not−null="true"/>

</property>

</class></hibernate−mapping>

Page 167: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

166

5.1.32 SistemaAgendador/JavaSource/actions/Gerenciador.java

<?xml version="1.0" encoding="UTF−8"?>

<!DOCTYPE taglib PUBLIC "−//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web−jsptaglibrary_1_1.dtd"><taglib><tlibversion>1.2</tlibversion><jspversion>1.1</jspversion><shortname>bean</shortname><uri>http://struts.apache.org/tags−bean</uri><tag><name>cookie</name><tagclass>org.apache.struts.taglib .bean.CookieTag</tagclass><teiclass>org.apache.struts. taglib .bean.CookieTei</teiclass><bodycontent>empty</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>multiple</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute>

Page 168: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

167

<attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>de�ne</name><tagclass>org.apache.struts.taglib .bean.De�neTag</tagclass><teiclass>org.apache.struts. taglib .bean.De�neTei</teiclass><bodycontent>JSP</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>toScope</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 169: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

168

</attribute><attribute><name>type</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>header</name><tagclass>org.apache.struts.taglib .bean.HeaderTag</tagclass><teiclass>org.apache.struts. taglib .bean.HeaderTei</teiclass><bodycontent>empty</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>multiple</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required>

Page 170: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

169

<rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>include</name><tagclass>org.apache.struts.taglib .bean.IncludeTag</tagclass><teiclass>org.apache.struts. taglib .bean.IncludeTei</teiclass><bodycontent>empty</bodycontent><attribute><name>anchor</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>forward</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>href</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name>

Page 171: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

170

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>transaction</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>message</name><tagclass>org.apache.struts.taglib .bean.MessageTag</tagclass><bodycontent>empty</bodycontent><attribute><name>arg0</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>arg1</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>arg2</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>arg3</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>arg4</name>

Page 172: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

171

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>key</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag>

Page 173: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

172

<name>page</name><tagclass>org.apache.struts.taglib .bean.PageTag</tagclass><teiclass>org.apache.struts. taglib .bean.PageTei</teiclass><bodycontent>empty</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>parameter</name><tagclass>org.apache.struts.taglib .bean.ParameterTag</tagclass><teiclass>org.apache.struts. taglib .bean.ParameterTei</teiclass><bodycontent>empty</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>multiple</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute>

Page 174: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

173

<attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>resource</name><tagclass>org.apache.struts.taglib .bean.ResourceTag</tagclass><teiclass>org.apache.struts. taglib .bean.ResourceTei</teiclass><bodycontent>empty</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>input</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>size</name><tagclass>org.apache.struts.taglib .bean.SizeTag</tagclass><teiclass>org.apache.struts. taglib .bean.SizeTei</teiclass><bodycontent>empty</bodycontent><attribute><name>collection</name><required>false</required>

Page 175: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

174

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>struts</name><tagclass>org.apache.struts.taglib .bean.StrutsTag</tagclass><teiclass>org.apache.struts. taglib .bean.StrutsTei</teiclass><bodycontent>empty</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>formBean</name>

Page 176: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

175

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>forward</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>mapping</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>write</name><tagclass>org.apache.struts.taglib .bean.WriteTag</tagclass><bodycontent>empty</bodycontent><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>�lter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>format</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>formatKey</name>

Page 177: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

176

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ignore</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag></taglib>

Page 178: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

177

5.1.33 SistemaAgendador/WebContent/WEB-INF/struts-con�g.xml

<?xml version="1.0" encoding="ISO−8859−1" ?>

<!DOCTYPE struts−con�g PUBLIC"−//Apache Software Foundation//DTD Struts Con�guration 1.2//EN""http://jakarta.apache.org/struts/dtds/struts−con�g_1_2.dtd">

<struts−con�g><!−− ================================================ Form Bean De�nitions −−>

<form−beans><form−bean

name="usuario"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="id" type="java.lang.Long"/><form−property name="nome" type="java.lang.String"/><form−property name="login" type="java.lang.String"/><form−property name="senha" type="java.lang.String"/>

<form−property name="acao" type="java.lang.String"/></form−bean>

<form−beanname="paciente"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="cartaoSus" type="java.lang.Long"/><form−property name="nome" type="java.lang.String"/><form−property name="pai" type="java.lang.String"/><form−property name="mae" type="java.lang.String"/>

<form−property name="conjuge" type="java.lang.String"/><form−property name="dataNascimento" type="java.lang.String"/><form−property name="nacionalidade" type="java.lang.String"/><form−property name="naturalidade" type="java.lang.String"/><form−property name="nomeEmpresa" type="java.lang.String"/>

Page 179: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

178

<form−property name="sexo" type="java.lang.String"/><form−property name="rua" type="java.lang.String"/><form−property name="numero" type="java.lang.Integer"/><form−property name="complemento" type="java.lang.String"/><form−property name="bairro" type="java.lang.String"/><form−property name="cidade" type="java.lang.String"/><form−property name="estado" type="java.lang.String"/><form−property name="estadoCivil" type="java.lang.Integer"/><form−property name="escolaridade" type="java.lang.Integer"/><form−property name="acao" type="java.lang.String"/><form−property name="opcao" type="java.lang.String"/>

</form−bean>

<form−beanname="hospital"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="id" type="java.lang.Long"/><form−property name="nome" type="java.lang.String"/><form−property name="url" type="java.lang.String"/>

<form−property name="acao" type="java.lang.String"/></form−bean>

</form−beans>

<!−− ========================================= Global Exception De�nitions −−>

<global−exceptions><!−− sample exception handler

<exceptionkey="expired.password"type="app.ExpiredPasswordException"path="/changePassword.jsp"/>end sample −−>

</global−exceptions>

Page 180: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

179

<!−− =========================================== Global Forward De�nitions −−>

<global−forwards><!−− Default forward to "Welcome" action −−><!−− Demonstrates using index.jsp to forward −−><forward name="inicio" path="/inicio.faca" />

</global−forwards>

<!−− =========================================== Action Mapping De�nitions −−>

<action−mappings>

<action path="/inicio"type="org.apache.struts.actions.ForwardAction"

parameter="/index.jsp"/>

<action path="/usuarios"type="actions.UsuariosAction"name="usuario"parameter="acao"validate="false"scope="request" ><forward path="/jsp/cadastraUsuario.jsp" name="telaCadastro" />

</action>

<action path="/hospitais"type="actions.HospitaisAction"name="hospital"parameter="acao"validate="false"scope="request" ><forward path="/jsp/cadastraHospital.jsp" name="telaCadastro" /><forward path="/jsp/listaHospitais.jsp" name="listar" />

Page 181: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

180

</action>

<action path="/pacientes"type="actions.PacientesAction"name="paciente"parameter="acao"validate="false"scope="request" ><forward path="/jsp/cadastraPaciente.jsp" name="telaCadastro" /><forward path="/jsp/listaPacientes.jsp" name="listar" /><forward path="/jsp/buscarPaciente.jsp" name="telaBusca" />

</action>

</action−mappings>

<!−− ======================================== Message Resources De�nitions −−>

<message−resources parameter="resources.application" />

</struts−con�g>

Page 182: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

181

5.1.34 SistemaAgendador/WebContent/WEB-INF/struts-con�g.xml.bk

<?xml version="1.0" encoding="ISO−8859−1" ?>

<!DOCTYPE struts−con�g PUBLIC"−//Apache Software Foundation//DTD Struts Con�guration 1.2//EN""http://jakarta.apache.org/struts/dtds/struts−con�g_1_2.dtd">

<struts−con�g><!−− ================================================ Form Bean De�nitions −−>

<form−beans><form−bean

name="cadastraUsuario"type="org.apache.struts.validator .DynaValidatorForm"dynamic="true">

<form−property name="nome" type="java.lang.String"/><form−property name="login" type="java.lang.String"/><form−property name="senha" type="java.lang.String"/>

<form−property name="acao" type="java.lang.String"/>

</form−bean>

<!−− bean usado para processar busca de usuarios −−><form−bean

name="cadastraPaciente"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="acao" type="java.lang.String"/><form−property name="cartaoSus" type="java.lang.Long"/><form−property name="nome" type="java.lang.String"/><form−property name="sexo" type="java.lang.String"/><form−property name="dataNascimento" type="java.util.Calendar"/><form−property name="estadoCivil" type="java.lang.Integer"/><form−property name="pai" type="java.lang.String"/>

Page 183: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

182

<form−property name="mae" type="java.lang.String"/><form−property name="conjuge" type="java.lang.String"/><form−property name="naturalidade" type="java.lang.String"/><form−property name="nacionalidade" type="java.lang.String"/><form−property name="nomeEmpresa" type="java.lang.String"/>

</form−bean>

<!−− bean usado para a lista de usuarios −−><form−bean

name="cadastraHospital"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="acao" type="java.lang.String"/><form−property name="" type="java.lang.String"/><form−property name="selecionados" type="java.lang.String"/><form−property name="idUsuarioSelecionado" type="java.lang.String"/><form−property name="grupo" type="java.lang.String"/><form−property name="projeto" type="java.lang.String"/>

</form−bean>

<form−bean name="mailInterno"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="nome" type="java.lang.String"/><form−property name="destinos" type="java.lang.String"/><form−property name="listaDestinos" type="java.lang.String"/><form−property name="destino" type="java.lang.String"/><form−property name="selecionados" type="java.lang.String"/><form−property name="arquivo" type="org.apache.struts.upload.FormFile"/>

</form−bean>

<!−− bean usado para o login −−><form−bean name="login"

Page 184: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

183

type="org.apache.struts.action.DynaActionForm"dynamic="true">

<form−property name="login" type="java.lang.String"/><form−property name="senha" type="java.lang.String"/>

</form−bean>

<form−bean name="formulario"type="org.apache.struts.action.DynaActionForm"dynamic="true">

<form−property name="acao" type="java.lang.String"/><form−property name="pasta" type="java.lang.String"/><form−property name="nomePasta" type="java.lang.String"/><form−property name="renomearPasta" type="java.lang.String"/><form−property name="nomeFormulario" type="java.lang.String"/><form−property name="arquivo" type="org.apache.struts.upload.FormFile"/>

</form−bean>

<form−beanname="cadastroProjeto"type="org.apache.struts.validator .DynaValidatorForm"dynamic="true">

<form−property name="acao" type="java.lang.String"/><form−property name="id" type="java.lang.String"/><form−property name="nome" type="java.lang.String"/><form−property name="descricao" type="java.lang.String"/><form−property name="numConvenio" type="java.lang.String"/><form−property name="corFonte" type="java.lang.String"/><form−property name="corFundo" type="java.lang.String"/><form−property name="arquivo" type="org.apache.struts.upload.FormFile"/><form−property name="nomeVelho" type="java.lang.String"/><form−property name="situacao" type="java.lang.String"/>

</form−bean>

<!−− bean usado para processar busca de projetos −−>

Page 185: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

184

<form−beanname="buscaProjetos"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="acao" type="java.lang.String"/><form−property name="�ltroPesquisaProjeto" type="java.lang.String"/><form−property name="�ltroNome" type="java.lang.String"/><form−property name="�ltroDescricao" type="java.lang.String"/>

</form−bean>

<form−beanname="consulta"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="acao" type="java.lang.String"/><form−property name="projetoSelecionado" type="java.lang.String"/><form−property name="projetos" type="java.lang.String"/><form−property name="selecionados" type="java.lang.String"/>

</form−bean>

<form−beanname="listaProjetos"type="org.apache.struts.action.DynaActionForm"dynamic="true"><form−property name="acao" type="java.lang.String"/><form−property name="id" type="java.lang.String"/><form−property name="selecionados" type="java.lang.String"/><form−property name="idProjetoSelecionado" type="java.lang.String"/>

</form−bean>

<form−beanname="autorizacao"type="org.apache.struts.validator .DynaValidatorForm"

Page 186: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

185

dynamic="true">

<form−property name="acao" type="java.lang.String"/><form−property name="id" type="java.lang.String"/><form−property name="menusSelecionados" type="java.lang.String"/><form−property name="pastasSelecionadas" type="java.lang.String"/><form−property name="grupoSelecionado" type="java.lang.String"/><form−property name="tipoDeAutorizacao" type="java.lang.String"/>

</form−bean>

<form−beanname="projetoUsuario"type="org.apache.struts.validator .DynaValidatorForm"dynamic="true">

<form−property name="acao" type="java.lang.String"/><form−property name="id" type="java.lang.String"/><form−property name="idUsuarioSelecionado" type="java.lang.String"/><form−property name="selecionados" type="java.lang.String"/><form−property name="grupo" type="java.lang.String"/><form−property name="projeto" type="java.lang.String"/>

</form−bean>

<form−beanname="pesquisaUsuarios"type="org.apache.struts.validator .DynaValidatorForm"dynamic="true">

<form−property name="acao" type="java.lang.String"/><form−property name="nomeUsuario" type="java.lang.String"/><form−property name="idUsuario" type="java.lang.String"/>

</form−bean>

</form−beans>

Page 187: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

186

<!−− ========================================= Global Exception De�nitions −−>

<global−exceptions><!−− sample exception handler

<exceptionkey="expired.password"type="app.ExpiredPasswordException"path="/changePassword.jsp"/>end sample −−>

</global−exceptions>

<!−− =========================================== Global Forward De�nitions −−>

<global−forwards><!−− Default forward to "Welcome" action −−><!−− Demonstrates using index.jsp to forward −−><forward name="inicio" path="/inicio.faca" />

</global−forwards>

<!−− =========================================== Action Mapping De�nitions −−>

<action−mappings>

<action path="/formularios"type="igti. iel . actions .FormulariosAction"name="formulario"parameter="acao"scope="request"input="/jsp/usuarios/erros.jsp" ><forward path="/jsp/formularios/renomearPasta.jsp" name="renomearPasta" /><forward path="/jsp/formularios/incluirFormulario.jsp" name="incluirFormulario" /><forward path="/jsp/formularios/incluirPasta.jsp" name="incluirPasta" />

Page 188: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

187

<forward path="/jsp/formularios/listaPastas.jsp" name="listarPastas" /><forward path="/jsp/formularios/listaFormularios.jsp" name="listarFormularios" />

</action>

<action path="/postagem"type="igti. iel . actions .PostagemAction"name="formulario"parameter="acao"scope="request"input="/jsp/usuarios/erros.jsp" ><forward path="/jsp/postagem/incluirFormulario.jsp" name="incluirFormulario" /><forward path="/jsp/postagem/listaFormularios.jsp" name="listarFormularios" />

</action>

<action path="/inicio"type="org.apache.struts.actions.ForwardAction"

parameter="/index0.jsp"/>

<action path="/login"type="igti. iel . actions .LoginAction"name="login"scope="request">

<forward path="/index0.jsp" name="erro" /><forward path="/index1.jsp" name="sucesso" />

</action>

<action path="/gerenciarUsuario"type="igti. iel . actions .GerenteUsuarioAction"name="cadastroUsuario"parameter="acao"scope="request"input="/jsp/usuarios/erros.jsp" ><forward path="/jsp/usuarios/cadastro.jsp" name="telaCadastroUsuario" /><forward path="/jsp/usuarios/listaUsuarios.jsp" name="admin−telaListaUsuarios" />

Page 189: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

188

</action>

<action path="/mostrarDados"type="igti. iel . actions .GerenteUsuarioAction"parameter="acao"scope="request"name="buscaUsuarios"><!−− acao meusDados −−><forward path="/jsp/usuarios/cadastro.jsp" name="telaCadastroUsuario" /><!−− acao listarUsuarios −−><forward path="/jsp/usuarios/listaUsuarios.jsp" name="admin−telaListaUsuarios" ></forward>

</action>

<action path="/listaUsuarios"type="igti. iel . actions .GerenteUsuarioAction"parameter="acao"scope="request"name="listaUsuarios"><forward path="/jsp/usuarios/cadastro.jsp" name="telaCadastroUsuario" /><forward path="/jsp/usuarios/listaUsuarios.jsp" name="admin−telaListaUsuarios" ></forward><forward path="/jsp/usuarios/listaUsuarios.jsp" name="admParticipantesProjeto"></forward>

</action>

<action path="/correioInterno"type="igti. iel . actions .CorreioInternoAction"name="mailInterno"parameter="acao"scope="request"input="/jsp/correio/correio.jsp"><forward path="/jsp/correio/correio.jsp" name="correio"/><forward path="/jsp/correio/listaMensagensRecebidas.jsp" name="mensagensRecebidas"/><forward path="/jsp/correio/listaMensagensEnviadas.jsp" name="mensagensEnviadas"/><forward path="/jsp/correio/mensagem.jsp" name="mensagem"/>

Page 190: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

189

<forward path="/jsp/correio/listaAnexos.jsp" name="anexos"/><forward path="/jsp/correio/listaAnexados.jsp" name="anexados"/><forward path="/jsp/correio/naoLidas.jsp" name="naoLidas"/>

</action>

<action path="/consultas"type="igti. iel . actions .ConsultaAction"name="consulta"parameter="acao"scope="request"><forward path="/jsp/consulta/consultaSimpli�cada.jsp" name="consultaSimpli�cada"/><forward path="/jsp/consulta/consultaCompleta.jsp" name="consultaCompleta"/><forward path="/jsp/consulta/relatorioSimpli�cado.jsp" name="relatorioSimpli�cado"/><forward path="/jsp/consulta/relatorioCompleto.jsp" name="relatorioCompleto"/>

</action>

<action path="/projetos"type="igti. iel . actions .GerenteProjetoAction"name="cadastroProjeto"parameter="acao"scope="request"input="/jsp/projetos/erros.jsp"><forward path="/jsp/projetos/cadastro.jsp" name="telaCadastroProjeto"/><forward path="/ligarProjetoUsuario.faca?acao=participantes" name="�mCadastroNovoProjeto"/><forward path="/jsp/projetos/listaProjetos.jsp" name="listarProjetos"/><forward path="/index1.jsp" name="abrirProjeto"/><forward path="/jsp/projetos/administracaoProjetos.jsp" name="administracaoProjetos" ></forward><forward path="/jsp/usuarios/listaUsuarios.jsp" name="admParticipantesProjeto" ></forward>

</action>

<action path="/mostrarProjetos"type="igti. iel . actions .GerenteProjetoAction"parameter="acao"scope="request"name="buscaProjetos">

Page 191: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

190

<forward path="/jsp/projetos/cadastro.jsp" name="telaCadastroProjeto"/><forward path="/jsp/projetos/administracaoProjetos.jsp" name="administracaoProjetos" ></forward>

</action>

<action path="/listaProjetos"type="igti. iel . actions .GerenteProjetoAction"parameter="acao"scope="request"name="listaProjetos"><forward path="/jsp/projetos/cadastro.jsp" name="telaCadastroProjeto"/><forward path="/jsp/projetos/administracaoProjetos.jsp" name="administracaoProjetos"></forward>

</action>

<action path="/ligarProjetoUsuario"type="igti. iel . actions .GerenteProjetoAction"parameter="acao"scope="request"name="projetoUsuario"><forward path="/jsp/usuarios/listaUsuarios.jsp" name="admParticipantesProjeto"/><forward path="/jsp/projetos/administracaoProjetos.jsp" name="administracaoProjetos"></forward>

</action>

<action path="/autorizacoesUsuarios"type="igti. iel . actions .AutorizacoesUsuariosAction"name="autorizacao"parameter="acao"validate="false"scope="request" ><forward path="/jsp/autorizacoes/autorizacoesUsuarios.jsp" name="autorizacoes" />

</action>

<action path="/pesquisaUsuarios"type="igti. iel . actions .PesquisaUsuariosAction"name="pesquisaUsuarios"parameter="acao"

Page 192: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

191

validate="false"scope="request" ><forward path="/jsp/consulta/consultaUsuarios.jsp" name="pesquisaUsuarios" />

</action>

</action−mappings>

<!−− ======================================== Message Resources De�nitions −−>

<message−resources parameter="resources.application" />

<!−− =============================================== Plug Ins Con�guration −−>

<!−− =================================================== Validator plugin −−>

<plug−in className="org.apache.struts.validator.ValidatorPlugIn"><set−property property="pathnames"

value="/WEB−INF/validator−rules.xml,/WEB−INF/validation.xml" /></plug−in>

</struts−con�g>

Page 193: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

192

5.1.35 SistemaAgendador/WebContent/WEB-INF/struts-html.tld

<?xml version="1.0" encoding="UTF−8"?>

<!DOCTYPE taglib PUBLIC "−//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web−jsptaglibrary_1_1.dtd"><taglib><tlibversion>1.2</tlibversion><jspversion>1.1</jspversion><shortname>html</shortname><uri>http://struts.apache.org/tags−html</uri><tag><name>base</name><tagclass>org.apache.struts.taglib .html.BaseTag</tagclass><bodycontent>empty</bodycontent><attribute><name>target</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>server</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>button</name><tagclass>org.apache.struts.taglib .html.ButtonTag</tagclass><attribute><name>accesskey</name>

Page 194: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

193

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name>

Page 195: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

194

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name>

Page 196: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

195

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name>

Page 197: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

196

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>cancel</name><tagclass>org.apache.struts.taglib .html.CancelTag</tagclass><attribute><name>accesskey</name><required>false</required>

Page 198: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

197

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required>

Page 199: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

198

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required>

Page 200: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

199

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required>

Page 201: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

200

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>checkbox</name><tagclass>org.apache.struts.taglib .html.CheckboxTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 202: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

201

</attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 203: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

202

</attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 204: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

203

</attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 205: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

204

</attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 206: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

205

</attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>errors</name><tagclass>org.apache.struts.taglib .html.ErrorsTag</tagclass><bodycontent>empty</bodycontent><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>footer</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 207: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

206

</attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>pre�x</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>su�x</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>�le</name><tagclass>org.apache.struts.taglib .html.FileTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>accept</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 208: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

207

<attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 209: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

208

<attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>maxlength</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 210: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

209

<attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 211: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

210

<attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>size</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 212: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

211

<attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>form</name><tagclass>org.apache.struts.taglib .html.FormTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>action</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute>

Page 213: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

212

<attribute><name>acceptCharset</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>enctype</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>focus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>focusIndex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>method</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onreset</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 214: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

213

<attribute><name>onsubmit</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scriptLanguage</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>target</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 215: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

214

</tag><tag><name>frame</name><tagclass>org.apache.struts.taglib .html.FrameTag</tagclass><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>action</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>module</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>anchor</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>forward</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>frameborder</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 216: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

215

<name>frameName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>href</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>longdesc</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>marginheight</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>marginwidth</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>noresize</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 217: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

216

<name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramScope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 218: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

217

<name>scrolling</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>transaction</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag>

Page 219: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

218

<tag><name>hidden</name><tagclass>org.apache.struts.taglib .html.HiddenTag</tagclass><bodycontent>empty</bodycontent><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 220: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

219

<name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 221: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

220

<name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 222: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

221

<name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 223: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

222

<name>write</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>html</name><tagclass>org.apache.struts.taglib .html.HtmlTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>lang</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>xhtml</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>image</name><tagclass>org.apache.struts.taglib .html.ImageTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>align</name>

Page 224: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

223

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>border</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name>

Page 225: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

224

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name>

Page 226: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

225

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name>

Page 227: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

226

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>pageKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>src</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>srcKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name>

Page 228: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

227

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>img</name><tagclass>org.apache.struts.taglib .html.ImgTag</tagclass><bodycontent>empty</bodycontent><attribute><name>align</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name>

Page 229: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

228

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>border</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>contextRelative</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>height</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>hspace</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>imageName</name>

Page 230: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

229

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ismap</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>lowsrc</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name>

Page 231: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

230

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name>

Page 232: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

231

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>pageKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>action</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>module</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramProperty</name>

Page 233: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

232

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramScope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>src</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>srcKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name>

Page 234: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

233

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>useLocalEncoding</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>usemap</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>vspace</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>width</name>

Page 235: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

234

<required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>javascript</name><tagclass>org.apache.struts.taglib .html.JavascriptValidatorTag</tagclass><bodycontent>empty</bodycontent><attribute><name>cdata</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>dynamicJavascript</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>formName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>method</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scriptLanguage</name>

Page 236: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

235

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>src</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>staticJavascript</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>htmlComment</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>link</name><tagclass>org.apache.struts.taglib .html.LinkTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>action</name><required>false</required>

Page 237: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

236

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>module</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>anchor</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>forward</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>href</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required>

Page 238: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

237

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>linkName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required>

Page 239: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

238

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required>

Page 240: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

239

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramScope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required>

Page 241: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

240

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>target</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required>

Page 242: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

241

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>transaction</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>useLocalEncoding</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>messages</name><tagclass>org.apache.struts.taglib .html.MessagesTag</tagclass><teiclass>org.apache.struts. taglib .html.MessagesTei</teiclass><bodycontent>JSP</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name>

Page 243: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

242

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>footer</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>message</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>multibox</name><tagclass>org.apache.struts.taglib .html.MultiboxTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required>

Page 244: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

243

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required>

Page 245: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

244

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required>

Page 246: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

245

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required>

Page 247: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

246

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required>

Page 248: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

247

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>option</name><tagclass>org.apache.struts.taglib .html.OptionTag</tagclass><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>key</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 249: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

248

</attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>options</name><tagclass>org.apache.struts.taglib .html.OptionsTag</tagclass><bodycontent>empty</bodycontent><attribute><name>collection</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>�lter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>labelName</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 250: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

249

</attribute><attribute><name>labelProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>optionsCollection</name><tagclass>org.apache.struts.taglib .html.OptionsCollectionTag</tagclass><bodycontent>empty</bodycontent><attribute><name>�lter</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 251: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

250

</attribute><attribute><name>label</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>password</name><tagclass>org.apache.struts.taglib .html.PasswordTag</tagclass>

Page 252: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

251

<attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 253: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

252

<attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>maxlength</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 254: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

253

<attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 255: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

254

<attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>redisplay</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 256: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

255

<attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>size</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 257: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

256

<attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>radio</name><tagclass>org.apache.struts.taglib .html.RadioTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 258: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

257

<name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 259: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

258

<name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 260: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

259

<name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 261: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

260

<name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>idName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag>

Page 262: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

261

<tag><name>reset</name><tagclass>org.apache.struts.taglib .html.ResetTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name>

Page 263: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

262

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name>

Page 264: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

263

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name>

Page 265: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

264

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>rewrite</name><tagclass>org.apache.struts.taglib .html.RewriteTag</tagclass><bodycontent>empty</bodycontent><attribute><name>action</name>

Page 266: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

265

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>module</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>anchor</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>forward</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>href</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramId</name>

Page 267: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

266

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramScope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>transaction</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>useLocalEncoding</name>

Page 268: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

267

<required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>select</name><tagclass>org.apache.struts.taglib .html.SelectTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name>

Page 269: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

268

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>multiple</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name>

Page 270: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

269

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name>

Page 271: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

270

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name>

Page 272: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

271

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>size</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag>

Page 273: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

272

<name>submit</name><tagclass>org.apache.struts.taglib .html.SubmitTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required>

Page 274: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

273

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required>

Page 275: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

274

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required>

Page 276: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

275

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>text</name>

Page 277: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

276

<tagclass>org.apache.struts.taglib .html.TextTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 278: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

277

</attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>maxlength</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 279: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

278

</attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 280: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

279

</attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>size</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 281: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

280

</attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 282: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

281

</attribute></tag><tag><name>textarea</name><tagclass>org.apache.struts.taglib .html.TextareaTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>cols</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 283: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

282

<attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 284: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

283

<attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 285: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

284

<attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 286: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

285

<attribute><name>rows</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 287: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

286

<attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>xhtml</name><tagclass>org.apache.struts.taglib .html.XhtmlTag</tagclass><bodycontent>empty</bodycontent></tag></taglib>

Page 288: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

287

5.1.36 SistemaAgendador/WebContent/WEB-INF/struts-logic.tld

<?xml version="1.0" encoding="UTF−8"?>

<!DOCTYPE taglib PUBLIC "−//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web−jsptaglibrary_1_1.dtd"><taglib><tlibversion>1.2</tlibversion><jspversion>1.1</jspversion><shortname>logic</shortname><uri>http://struts.apache.org/tags−logic</uri><tag><name>empty</name><tagclass>org.apache.struts.taglib . logic .EmptyTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag>

Page 289: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

288

<name>equal</name><tagclass>org.apache.struts.taglib . logic .EqualTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name>

Page 290: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

289

<required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>forward</name><tagclass>org.apache.struts.taglib . logic .ForwardTag</tagclass><bodycontent>empty</bodycontent><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>greaterEqual</name><tagclass>org.apache.struts.taglib . logic .GreaterEqualTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name>

Page 291: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

290

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>greaterThan</name><tagclass>org.apache.struts.taglib . logic .GreaterThanTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name>

Page 292: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

291

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>iterate</name><tagclass>org.apache.struts.taglib . logic .IterateTag</tagclass><teiclass>org.apache.struts. taglib . logic . IterateTei</teiclass><bodycontent>JSP</bodycontent><attribute><name>collection</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 293: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

292

<name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>indexId</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>length</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>o�set</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 294: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

293

<name>type</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>lessEqual</name><tagclass>org.apache.struts.taglib . logic .LessEqualTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 295: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

294

<name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>lessThan</name><tagclass>org.apache.struts.taglib . logic .LessThanTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 296: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

295

<name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>match</name><tagclass>org.apache.struts.taglib . logic .MatchTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>location</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 297: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

296

<name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>messagesNotPresent</name><tagclass>org.apache.struts.taglib . logic .MessagesNotPresentTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 298: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

297

<name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>message</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>messagesPresent</name><tagclass>org.apache.struts.taglib . logic .MessagesPresentTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>message</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>notEmpty</name><tagclass>org.apache.struts.taglib . logic .NotEmptyTag</tagclass><bodycontent>JSP</bodycontent><attribute>

Page 299: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

298

<name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>notEqual</name><tagclass>org.apache.struts.taglib . logic .NotEqualTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 300: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

299

<name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>notMatch</name><tagclass>org.apache.struts.taglib . logic .NotMatchTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 301: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

300

<name>location</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>notPresent</name><tagclass>org.apache.struts.taglib . logic .NotPresentTag</tagclass><bodycontent>JSP</bodycontent><attribute>

Page 302: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

301

<name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 303: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

302

<name>user</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>present</name><tagclass>org.apache.struts.taglib . logic .PresentTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 304: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

303

<name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>user</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>redirect</name><tagclass>org.apache.struts.taglib . logic .RedirectTag</tagclass><attribute><name>action</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>anchor</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>forward</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>href</name>

Page 305: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

304

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramScope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name>

Page 306: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

305

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>transaction</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>useLocalEncoding</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag></taglib>

Page 307: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

306

5.1.37 SistemaAgendador/WebContent/WEB-INF/struts-nested.tld

<?xml version="1.0" encoding="UTF−8"?>

<!DOCTYPE taglib PUBLIC "−//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web−jsptaglibrary_1_1.dtd"><taglib><tlibversion>1.2</tlibversion><jspversion>1.1</jspversion><shortname>nested</shortname><uri>http://struts.apache.org/tags−nested</uri><tag><name>nest</name><tagclass>org.apache.struts.taglib .nested.NestedPropertyTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>writeNesting</name><tagclass>org.apache.struts.taglib .nested.NestedWriteNestingTag</tagclass><teiclass>org.apache.struts. taglib .nested.NestedWriteNestingTei</teiclass><bodycontent>JSP</bodycontent><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 308: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

307

<name>id</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>�lter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>root</name><tagclass>org.apache.struts.taglib .nested.NestedRootTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>de�ne</name><tagclass>org.apache.struts.taglib .nested.bean.NestedDe�neTag</tagclass><teiclass>org.apache.struts. taglib .nested.bean.NestedDe�neTei</teiclass><bodycontent>empty</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 309: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

308

<attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>toScope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>type</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>message</name><tagclass>org.apache.struts.taglib .nested.bean.NestedMessageTag</tagclass><bodycontent>empty</bodycontent><attribute><name>arg0</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 310: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

309

<attribute><name>arg1</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>arg2</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>arg3</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>arg4</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>key</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 311: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

310

<attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>size</name><tagclass>org.apache.struts.taglib .nested.bean.NestedSizeTag</tagclass><teiclass>org.apache.struts. taglib .bean.SizeTei</teiclass><bodycontent>empty</bodycontent><attribute><name>collection</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>id</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 312: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

311

</attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>write</name><tagclass>org.apache.struts.taglib .nested.bean.NestedWriteTag</tagclass><bodycontent>empty</bodycontent><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>�lter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>format</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>formatKey</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 313: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

312

</attribute><attribute><name>ignore</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>checkbox</name><tagclass>org.apache.struts.taglib .nested.html.NestedCheckboxTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 314: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

313

<attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 315: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

314

<attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 316: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

315

<attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 317: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

316

<attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 318: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

317

<attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>errors</name><tagclass>org.apache.struts.taglib .nested.html.NestedErrorsTag</tagclass><bodycontent>empty</bodycontent><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>footer</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 319: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

318

<attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>pre�x</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>su�x</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>�le</name><tagclass>org.apache.struts.taglib .nested.html.NestedFileTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 320: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

319

<name>accept</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 321: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

320

<name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>maxlength</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 322: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

321

<name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 323: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

322

<name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>size</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 324: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

323

<name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>form</name><tagclass>org.apache.struts.taglib .nested.html.NestedFormTag</tagclass><bodycontent>JSP</bodycontent><attribute>

Page 325: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

324

<name>action</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>acceptCharset</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>enctype</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>focus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>focusIndex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>method</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 326: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

325

<name>onreset</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onsubmit</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scriptLanguage</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 327: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

326

<name>target</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>hidden</name><tagclass>org.apache.struts.taglib .nested.html.NestedHiddenTag</tagclass><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name>

Page 328: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

327

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>write</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>image</name><tagclass>org.apache.struts.taglib .nested.html.NestedImageTag</tagclass><attribute><name>accesskey</name><required>false</required>

Page 329: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

328

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>align</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>border</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required>

Page 330: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

329

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required>

Page 331: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

330

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required>

Page 332: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

331

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>pageKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>src</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>srcKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required>

Page 333: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

332

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>img</name><tagclass>org.apache.struts.taglib .nested.html.NestedImgTag</tagclass><bodycontent>empty</bodycontent><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>align</name><required>false</required>

Page 334: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

333

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>border</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>height</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>hspace</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>imageName</name><required>false</required>

Page 335: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

334

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>ismap</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>lowsrc</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required>

Page 336: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

335

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>pageKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>action</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>module</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramProperty</name><required>false</required>

Page 337: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

336

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramScope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>src</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>srcKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required>

Page 338: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

337

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>useLocalEncoding</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>usemap</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>vspace</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>width</name><required>false</required>

Page 339: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

338

<rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>link</name><tagclass>org.apache.struts.taglib .nested.html.NestedLinkTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>action</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>module</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>anchor</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>forward</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>href</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 340: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

339

</attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>linkName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 341: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

340

</attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 342: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

341

</attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>paramProperty</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 343: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

342

</attribute><attribute><name>paramScope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 344: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

343

</attribute><attribute><name>target</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>transaction</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>useLocalEncoding</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>messages</name><tagclass>org.apache.struts.taglib .nested.html.NestedMessagesTag</tagclass><teiclass>org.apache.struts. taglib .html.MessagesTei</teiclass><bodycontent>JSP</bodycontent><attribute><name>id</name><required>true</required>

Page 345: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

344

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>locale</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>footer</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>message</name><required>false</required>

Page 346: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

345

<rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>multibox</name><tagclass>org.apache.struts.taglib .nested.html.NestedMultiboxTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 347: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

346

</attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 348: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

347

</attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 349: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

348

</attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 350: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

349

</attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>options</name><tagclass>org.apache.struts.taglib .nested.html.NestedOptionsTag</tagclass><bodycontent>empty</bodycontent><attribute><name>collection</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>�lter</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 351: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

350

</attribute><attribute><name>labelName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>labelProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>optionsCollection</name><tagclass>org.apache.struts.taglib .nested.html.NestedOptionsCollectionTag</tagclass>

Page 352: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

351

<bodycontent>empty</bodycontent><attribute><name>�lter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>label</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 353: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

352

</attribute></tag><tag><name>password</name><tagclass>org.apache.struts.taglib .nested.html.NestedPasswordTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 354: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

353

<attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>maxlength</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 355: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

354

<attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 356: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

355

<attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 357: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

356

<attribute><name>redisplay</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>size</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 358: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

357

<attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>radio</name><tagclass>org.apache.struts.taglib .nested.html.NestedRadioTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 359: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

358

<name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 360: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

359

<name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 361: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

360

<name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 362: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

361

<name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>idName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>select</name><tagclass>org.apache.struts.taglib .nested.html.NestedSelectTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 363: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

362

<name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 364: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

363

<name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>multiple</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 365: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

364

<name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 366: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

365

<name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 367: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

366

<name>size</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>submit</name><tagclass>org.apache.struts.taglib .nested.html.NestedSubmitTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name>

Page 368: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

367

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name>

Page 369: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

368

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name>

Page 370: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

369

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name>

Page 371: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

370

<required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>text</name><tagclass>org.apache.struts.taglib .nested.html.NestedTextTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>altKey</name><required>false</required>

Page 372: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

371

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required>

Page 373: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

372

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>maxlength</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onfocus</name><required>false</required>

Page 374: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

373

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseover</name><required>false</required>

Page 375: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

374

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>size</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleId</name><required>false</required>

Page 376: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

375

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>textarea</name><tagclass>org.apache.struts.taglib .nested.html.NestedTextareaTag</tagclass><attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>alt</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 377: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

376

</attribute><attribute><name>altKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>bundle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>cols</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyle</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>errorStyleClass</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 378: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

377

</attribute><attribute><name>errorStyleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexed</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 379: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

378

</attribute><attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 380: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

379

</attribute><attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>rows</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 381: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

380

</attribute><attribute><name>styleId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>titleKey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>empty</name><tagclass>org.apache.struts.taglib .nested. logic .NestedEmptyTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 382: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

381

</attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>equal</name><tagclass>org.apache.struts.taglib .nested. logic .NestedEqualTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 383: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

382

</attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>greaterEqual</name><tagclass>org.apache.struts.taglib .nested. logic .NestedGreaterEqualTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 384: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

383

</attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>greaterThan</name><tagclass>org.apache.struts.taglib .nested. logic .NestedGreaterThanTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue>

Page 385: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

384

</attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>iterate</name><tagclass>org.apache.struts.taglib .nested. logic .NestedIterateTag</tagclass><teiclass>org.apache.struts. taglib .nested. logic .NestedIterateTei</teiclass><bodycontent>JSP</bodycontent><attribute><name>collection</name><required>false</required>

Page 386: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

385

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>id</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>indexId</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>length</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>o�set</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required>

Page 387: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

386

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>type</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>lessEqual</name><tagclass>org.apache.struts.taglib .nested. logic .NestedLessEqualTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required>

Page 388: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

387

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>lessThan</name><tagclass>org.apache.struts.taglib .nested. logic .NestedLessThanTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required>

Page 389: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

388

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>match</name><tagclass>org.apache.struts.taglib .nested. logic .NestedMatchTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>location</name><required>false</required>

Page 390: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

389

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>messagesNotPresent</name><tagclass>org.apache.struts.taglib .nested. logic .NestedMessagesNotPresentTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required>

Page 391: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

390

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>message</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>messagesPresent</name><tagclass>org.apache.struts.taglib .nested. logic .NestedMessagesPresentTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>message</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>notEmpty</name>

Page 392: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

391

<tagclass>org.apache.struts.taglib .nested. logic .NestedNotEmptyTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>notEqual</name><tagclass>org.apache.struts.taglib .nested. logic .NestedNotEqualTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required>

Page 393: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

392

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>notMatch</name><tagclass>org.apache.struts.taglib .nested. logic .NestedNotMatchTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required>

Page 394: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

393

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>location</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>notPresent</name>

Page 395: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

394

<tagclass>org.apache.struts.taglib .nested. logic .NestedNotPresentTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required>

Page 396: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

395

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>user</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>present</name><tagclass>org.apache.struts.taglib .nested. logic .NestedPresentTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>cookie</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>header</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>parameter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>property</name><required>false</required>

Page 397: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

396

<rtexprvalue>true</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>user</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag></taglib>

Page 398: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

397

5.1.38 SistemaAgendador/WebContent/WEB-INF/struts-tiles.tld

<?xml version="1.0" encoding="UTF−8"?>

<!DOCTYPE taglib PUBLIC "−//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web−jsptaglibrary_1_1.dtd"><taglib><tlibversion>1.2</tlibversion><jspversion>1.1</jspversion><shortname>tiles</shortname><uri>http://struts.apache.org/tags−tiles</uri><tag><name>insert</name><tagclass>org.apache.struts.taglib . tiles .InsertTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>template</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>component</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 399: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

398

<name>de�nition</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>attribute</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>beanName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>beanProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>beanScope</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>�ush</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute>

Page 400: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

399

<name>ignore</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>controllerUrl</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>controllerClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>de�nition</name><tagclass>org.apache.struts.taglib . tiles .De�nitionTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>id</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute>

Page 401: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

400

<name>template</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>page</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>extends</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>put</name><tagclass>org.apache.struts.taglib . tiles .PutTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>value</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 402: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

401

<name>content</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>direct</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>type</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>beanName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>beanProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>beanScope</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag>

Page 403: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

402

<tag><name>putList</name><tagclass>org.apache.struts.taglib . tiles .PutListTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>name</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute></tag><tag><name>add</name><tagclass>org.apache.struts.taglib . tiles .AddTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>value</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>content</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>direct</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>type</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute>

Page 404: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

403

<name>beanName</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>beanProperty</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>beanScope</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>get</name><tagclass>org.apache.struts.taglib . tiles .GetTag</tagclass><bodycontent>empty</bodycontent><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ignore</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute>

Page 405: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

404

<name>�ush</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>getAsString</name><tagclass>org.apache.struts.taglib . tiles .GetAttributeTag</tagclass><bodycontent>empty</bodycontent><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ignore</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>role</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>useAttribute</name><tagclass>org.apache.struts.taglib . tiles .UseAttributeTag</tagclass><teiclass>org.apache.struts. taglib . tiles .UseAttributeTei</teiclass><bodycontent>empty</bodycontent>

Page 406: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

405

<attribute><name>id</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>classname</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>scope</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>name</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>ignore</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>importAttribute</name><tagclass>org.apache.struts.taglib . tiles .ImportAttributeTag</tagclass><bodycontent>empty</bodycontent><attribute><name>name</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>

Page 407: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

406

<attribute><name>scope</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>ignore</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag><tag><name>initComponentDe�nitions</name><tagclass>org.apache.struts.taglib . tiles . InitDe�nitionsTag</tagclass><bodycontent>empty</bodycontent><attribute><name>�le</name><required>true</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>classname</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute></tag></taglib>

Page 408: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

407

5.1.39 SistemaAgendador/WebContent/WEB-INF/tiles-defs.xml

<?xml version="1.0" encoding="ISO−8859−1" ?>

<!DOCTYPE tiles−de�nitions PUBLIC"−//Apache Software Foundation//DTD Tiles Con�guration 1.1//EN""http://jakarta.apache.org/struts/dtds/ tiles−con�g_1_1.dtd">

<!−−This is a blank Tiles de�nition �le with a commented example.

−−>

<tiles−de�nitions>

<!−− sample tiles de�nitions<de�nition name=".mainLayout" path="/common/layouts/classicLayout.jsp">

<put name="title" value="Sample Page Title" /><put name="header" value="/common/header.jsp" /><put name="menu" value=".mainMenu" /><put name="footer" value="/common/footer.jsp" /><put name="body" value=".portal.body" />

</de�nition>

<de�nition name=".mainMenu" path="/common/layouts/vboxLayout.jsp" ><putList name="list" >

<add value=".menu.links" /><add value=".menu.taglib.references" /><add value=".menu.printer.friendly" /><add value=".menu.old.documents" />

</putList></de�nition>

<de�nition name="aPage" extends=".mainLayout"><put name="title" value="Another Title" /><put name="body" value=".aPage.body" />

Page 409: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

408

</de�nition>

end samples −−>

<de�nition name="${YOUR_DEFINITION_HERE}"></de�nition>

</tiles−de�nitions>

Page 410: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

409

5.1.40 SistemaAgendador/WebContent/WEB-INF/validation.xml

<?xml version="1.0" encoding="ISO−8859−1" ?>

<!DOCTYPE form−validation PUBLIC"−//Apache Software Foundation//DTD Commons Validator Rules Con�guration 1.1.3//EN""http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">

<form−validation>

<global></global>

<!−− regras de validacao para o áformulrio cadastroDeUsuario −−>

<formset><form name="cadastroUsuario">

<�eldproperty="nome"depends="required, minlength">

<arg0 key="cadastroUsuario.nome"/><arg1 key="${var:minlength}" resource="false"/><var>

<var−name>minlength</var−name><var−value>6</var−value>

</var></�eld>

<�eldproperty="login"depends="required, minlength">

<arg0 key="cadastroUsuario.login"/><arg1 key="${var:minlength}" resource="false"/>

<var><var−name>minlength</var−name><var−value>5</var−value>

Page 411: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

410

</var></�eld>

</form></formset>

</form−validation>

Page 412: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

411

5.1.41 SistemaAgendador/WebContent/WEB-INF/validator-rules.xml

<!DOCTYPE form−validation PUBLIC"−//Apache Software Foundation//DTD Commons Validator Rules Con�guration 1.1.3//EN""http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">

<!−−$Id: validator−rules.xml,v 1.1 2005/10/18 13:17:14 gilberto Exp $

This �le contains the default Struts Validator pluggable validatorde�nitions . It should be placed somewhere under /WEB−INF andreferenced in the struts−con�g.xml under the plug−in elementfor the ValidatorPlugIn.

<plug−in className="org.apache.struts.validator.ValidatorPlugIn"><set−property property="pathnames" value="/WEB−INF/validator−rules.xml,

/WEB−INF/validation.xml"/></plug−in>

These are the default error messages associated witheach validator de�ned in this �le . They should beadded to your projects ApplicationResources.properties�le or you can associate new ones by modifying thepluggable validators msg attributes in this �le .

# Struts Validator Error Messageserrors . required={0} is required .errors .minlength={0} can not be less than {1} characters.errors .maxlength={0} can not be greater than {1} characters.errors . invalid={0} is invalid .

errors .byte={0} must be a byte.errors .short={0} must be a short.errors . integer={0} must be an integer.errors .long={0} must be a long.errors . �oat ={0} must be a �oat.errors .double={0} must be a double.

Page 413: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

412

errors .date={0} is not a date.errors .range={0} is not in the range {1} through {2}.errors . creditcard={0} is an invalid credit card number.errors .email={0} is an invalid e−mail address.

Note: Starting in Struts 1.2.0 the default javascript de�nitions havebeen consolidated to commons−validator. The default can be overriddenby supplying a <javascript> element with a CDATA section, just asin struts 1.1.

−−>

<form−validation>

<global>

<validator name="required"classname="org.apache.struts.validator.FieldChecks"

method="validateRequired"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

msg="errors.required"/>

<validator name="requiredif"classname="org.apache.struts.validator.FieldChecks"method="validateRequiredIf"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages,

Page 414: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

413

org.apache.commons.validator.Validator,javax. servlet .http.HttpServletRequest"

msg="errors.required"/>

<validator name="validwhen"msg="errors.required"

classname="org.apache.struts.validator.validwhen.ValidWhen"method="validateValidWhen"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"/>

<validator name="minlength"classname="org.apache.struts.validator.FieldChecks"

method="validateMinLength"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.minlength"

jsFunction="org.apache.commons.validator.javascript.validateMinLength"/>

<validator name="maxlength"classname="org.apache.struts.validator.FieldChecks"

method="validateMaxLength"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

Page 415: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

414

org.apache.commons.validator.Field,org.apache.struts .action.ActionMessages,org.apache.commons.validator.Validator,javax. servlet .http.HttpServletRequest"

depends=""msg="errors.maxlength"

jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>

<validator name="mask"classname="org.apache.struts.validator.FieldChecks"

method="validateMask"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.invalid"/>

<validator name="byte"classname="org.apache.struts.validator.FieldChecks"

method="validateByte"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.byte"

jsFunctionName="ByteValidations"/>

Page 416: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

415

<validator name="short"classname="org.apache.struts.validator.FieldChecks"

method="validateShort"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.short"

jsFunctionName="ShortValidations"/>

<validator name="integer"classname="org.apache.struts.validator.FieldChecks"

method="validateInteger"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.integer"

jsFunctionName="IntegerValidations"/>

<validator name="long"classname="org.apache.struts.validator.FieldChecks"

method="validateLong"methodParams="java.lang.Object,

Page 417: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

416

org.apache.commons.validator.ValidatorAction,org.apache.commons.validator.Field,org.apache.struts .action.ActionMessages,org.apache.commons.validator.Validator,javax. servlet .http.HttpServletRequest"

depends=""msg="errors.long"/>

<validator name="�oat"classname="org.apache.struts.validator.FieldChecks"

method="validateFloat"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.�oat"

jsFunctionName="FloatValidations"/>

<validator name="double"classname="org.apache.struts.validator.FieldChecks"

method="validateDouble"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.double"/>

Page 418: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

417

<validator name="date"classname="org.apache.struts.validator.FieldChecks"

method="validateDate"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.date"

jsFunctionName="DateValidations"/>

<validator name="intRange"classname="org.apache.struts.validator.FieldChecks"

method="validateIntRange"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends="integer"msg="errors.range"/>

<validator name="�oatRange"classname="org.apache.struts.validator.FieldChecks"

method="validateFloatRange"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator,

Page 419: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

418

javax.servlet.http.HttpServletRequest"depends="�oat"

msg="errors.range"/>

<validator name="doubleRange"classname="org.apache.struts.validator.FieldChecks"

method="validateDoubleRange"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends="double"msg="errors.range"/>

<validator name="creditCard"classname="org.apache.struts.validator.FieldChecks"

method="validateCreditCard"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.creditcard"/>

<validator name="email"classname="org.apache.struts.validator.FieldChecks"

method="validateEmail"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

Page 420: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

419

org.apache.commons.validator.Field,org.apache.struts .action.ActionMessages,org.apache.commons.validator.Validator,javax. servlet .http.HttpServletRequest"

depends=""msg="errors.email"/>

<validator name="url"classname="org.apache.struts.validator.FieldChecks"

method="validateUrl"methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"

depends=""msg="errors.url"/>

<!−−This simply allows struts to include the validateUtilities into a page, it shouldnot be used as a validation rule .

−−><validator name="includeJavaScriptUtilities"

classname=""method=""

methodParams=""depends=""

msg=""jsFunction="org.apache.commons.validator.javascript. validateUtilities "/>

</global>

</form−validation>

Page 421: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

420

5.1.42 SistemaAgendador/WebContent/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF−8"?><web−app id="WebApp_ID" version="2.4"

xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema−instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web−app_2_4.xsd"><display−name>Sistema Agendador</display−name><description>

Sistema de Agendamento de Consultas dos Hospitais da RedePublica

</description><session−con�g>

<session−timeout>10</session−timeout></session−con�g>

<servlet><servlet−name>action</servlet−name><servlet−class>actions.Gerenciador</servlet−class><init−param>

<param−name>con�g</param−name><param−value>/WEB−INF/struts−con�g.xml</param−value>

</init−param><load−on−startup>2</load−on−startup>

</servlet>

<servlet−mapping><servlet−name>action</servlet−name><url−pattern>∗.faca</url−pattern>

</servlet−mapping>

<!−− Struts Tag Library Descriptors −−><taglib>

<taglib−uri>/tags/struts−bean</taglib−uri><taglib−location>/WEB−INF/struts−bean.tld</taglib−location>

</taglib>

Page 422: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

421

<taglib><taglib−uri>/tags/struts−html</taglib−uri><taglib−location>/WEB−INF/struts−html.tld</taglib−location>

</taglib>

<taglib><taglib−uri>/tags/struts−logic</taglib−uri><taglib−location>/WEB−INF/struts−logic.tld</taglib−location>

</taglib>

<taglib><taglib−uri>/tags/struts−nested</taglib−uri><taglib−location>/WEB−INF/struts−nested.tld</taglib−location>

</taglib>

<taglib><taglib−uri>/tags/struts−tiles</taglib−uri><taglib−location>/WEB−INF/struts−tiles.tld</taglib−location>

</taglib>

<welcome−�le−list><welcome−�le>inicio.faca</welcome−�le>

<welcome−�le>index.html</welcome−�le><welcome−�le>index.htm</welcome−�le><welcome−�le>index.jsp</welcome−�le><welcome−�le>default.html</welcome−�le><welcome−�le>default.htm</welcome−�le><welcome−�le>default.jsp</welcome−�le>

</welcome−�le−list></web−app>

Page 423: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

422

5.1.43 SistemaAgendador/WebContent/css/Geral.css

body {background−color: #FFFFCC;font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 12px;line−height: 24px;color: #336699;

}

td, th {font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 12px;line−height: 24px;color: #333333;

}

a {font−size: 12px;color: #336600;

}

form {background−color: #CCCC99;

}

. title {font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 18px;line−height: 20px;

background−color: #99CC00; color: #003333;}

. subtitle {font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 16px;line−height: 30px;

Page 424: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

423

color: #003300;}

.header {font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 20px;background−color: #669900;

color: #FFFF33;}

.nav {font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 14px;font−weight: normal;background−color: #CCFF99;

}

.navLink {font−family: Arial, Helvetica, sans−serif ;font−size: 14px;font−weight: bold;background−color: #DEDECA;

}

.sidebar {font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 10px;line−height: 14px;padding: 3px;background−color: #FFFFCC;

color: #003333;}

.sidebarHeader {font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 14px;

Page 425: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

424

line−height: 18px;color: #003300;background−color: #FFFF66;

}

.sidebarFooter {font−family: Verdana, Arial, Helvetica, sans−serif ;font−size: 12px;line−height: 18px;background−color: #FFFF99;

font−style: italic ;}

. footer {font−family: Arial, Helvetica, sans−serif ;

font−size: 14px;font−weight: bold;line−height: 22px;color: #333333;background−color: #CCFF99;

}

. legal {font−family: Arial, Helvetica, sans−serif ;font−size: 9px;color: #333333;

}

.box1 {border−width: thin;border−color: #99FF99 #003300 #003300 #99FF99;

border−style: double;}

.promo {

Page 426: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

425

font−family: "Times New Roman", Times, serif;color: #000033;

}

. titlebar {font−family: "Times New Roman", Times, serif;font−size: 9px;color: #FFFFFF;background−color: #336699;

}

.dingbat {font−family: Arial, Helvetica, sans−serif ;background−color: #FFFFFF;

color: #660000; font−weight: bolder; font−size: medium;}

input.big {width: 200px;

}

input.small {width: 50px;

}

Page 427: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

426

5.1.44 SistemaAgendador/WebContent/jsp/buscarPaciente.jsp

<%@page contentType="text/html; charset=ISO−8859−1" pageEncoding="ISO−8859−1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" pre�x="c" %><%@ taglib uri="/tags/struts−bean" pre�x="bean" %><%@ taglib uri="/tags/struts−html" pre�x="html" %><%@ taglib uri="/tags/struts−logic" pre�x="logic" %><html><head>

<link rel="stylesheet"href="<%=request.getContextPath() %>/css/Geral.css" />

<title>Busca Paciente</title><meta http−equiv="Content−Type" content="text/html; charset=iso−8859−1"></head><body><html:form action="/pacientes.faca" onsubmit="return false">

<html:hidden property="acao" value="" /><html:hidden property="escolaridade" value="0" /><html:hidden property="estadoCivil" value="0" /><table height="100%" width="100%">

<tr><td align="center"><h2 align="center">Buscar Pacientes</h2><table id="tabela" align="center">

<tr><td>Nome</td><td><html:text property="nome" value=""> </html:text></td>

</tr>

<tr><td>çãOpo</td><td><html:radio property="opcao" value="NOME" onclick="mudarTexto('Nome');"> Nome </html:radio><html:radio property="opcao" value="CARTAO" onclick="mudarTexto('ãCarto Sus');"> ãCarto SUS </html:radio></td>

Page 428: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

427

</tr><tr>

<td colspan="2" align="right"><button onclick="escolherAcao('buscar');"> Buscar </button></td></tr>

</table></td>

</tr></table>

</html:form></body><script language="javascript">function escolherAcao(acao){

document.forms.paciente.acao.value = acao;document.forms.paciente.submit();

}

function mudarTexto(texto){var col = document.getElementById('tabela').rows[0].cells [0];col .innerHTML = texto;

}</script></html>

Page 429: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

428

5.1.45 SistemaAgendador/WebContent/jsp/cadastraConsulta.jsp

<!DOCTYPE HTML PUBLIC "−//W3C//DTD HTML 4.01 Transitional//EN"><html><head>

<link rel="stylesheet"href="<%=request.getContextPath() %>/css/Geral.css" />

<title>Cadastro Consulta</title><meta http−equiv="Content−Type" content="text/html; charset=iso−8859−1"></head><body>

<form name="formularioMedico" method="post" action="cadastraConsulta"><table>

<tr><td align="center"><h2 align="center">Cadastro Consulta</h2><table align="center">

<tr><td>Paciente</td><td><input type="text" name="paciente" size="43" value=""></td>

</tr><tr>

<td>Data</td><td><input type="text" name="data" size="43" value=""></td>

</tr><tr>

<td>Hora</td><td><input type="text" name="hora" size="43" value="" ></td>

</tr><tr>

<td>éMdico</td><td><input type="text" name="medico" size="43" value="" ></td>

</tr>

Page 430: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

429

<tr><td colspan="4" align="center">

<input name="incluir" type="button" value="incluir"><input name="editar" type="button" value="editar"><input name="gravar" type="submit" value="gravar"><input name="modi�car" type="submit" value="modi�car"><input name="buscar" type="submit" value="buscar"><input name="excluir" type="submit" value="excluir">

</td></tr>

</table></td>

</tr></table></form></body>

</html>

Page 431: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

430

5.1.46 SistemaAgendador/JavaSource/actions/Gerenciador.java

<%@page contentType="text/html; charset=ISO−8859−1" pageEncoding="ISO−8859−1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" pre�x="c" %><%@ taglib uri="/tags/struts−bean" pre�x="bean" %><%@ taglib uri="/tags/struts−html" pre�x="html" %><%@ taglib uri="/tags/struts−logic" pre�x="logic" %><html><head>

<link rel="stylesheet"href="<%=request.getContextPath() %>/css/Geral.css" />

<title>Cadastro Hospital</title><meta http−equiv="Content−Type" content="text/html; charset=iso−8859−1"></head><body><html:form action="/hospitais.faca" onsubmit="return false">

<html:hidden property="acao" value="" /><html:hidden property="id" value="" /><table height="100%" width="100%">

<tr><td align="center"><h2 align="center">Cadastro de Hospitais</h2><table align="center">

<tr><td>Nome</td><td><html:text property="nome" value=""> </html:text></td>

</tr><tr>

<td>url</td><td><html:text property="url" value=""> </html:text></td>

</tr>

<tr>

Page 432: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

431

<td colspan="4" align="center"><button value="Enviar" onclick="escolherAcao('cadastrar');">Enviar</button></td>

</tr></table></td>

</tr></table>

</html:form></body><script language="javascript">function escolherAcao(acao){

document.forms.relatorioUsuario.acao.value = acao;document.forms.relatorioUsuario.submit();

}</script></html>

Page 433: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

432

5.1.47 SistemaAgendador/WebContent/jsp/cadastraPaciente.jsp

<%@page contentType="text/html; charset=ISO−8859−1" pageEncoding="ISO−8859−1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" pre�x="c" %><%@ taglib uri="/tags/struts−bean" pre�x="bean" %><%@ taglib uri="/tags/struts−html" pre�x="html" %><%@ taglib uri="/tags/struts−logic" pre�x="logic" %><html><head>

<link rel="stylesheet"href="<%=request.getContextPath() %>/css/Geral.css" />

<title>Cadastro Paciente</title><meta http−equiv="Content−Type" content="text/html; charset=iso−8859−1"></head><body><html:form action="/pacientes.faca" onsubmit="return false">

<html:hidden property="acao" value="" /><html:hidden property="escolaridade" value="0" /><html:hidden property="estadoCivil" value="0" /><table height="100%" width="100%">

<tr><td align="center"><h2 align="center">Cadastro de Pacientes</h2><table align="center">

<tr><td>Cartao SUS</td><td><html:text property="cartaoSus" styleClass="big" value="${paciente_.cartaoSus}"> </html:text></td>

</tr>

<tr><td>Nome</td><td><html:text property="nome" styleClass="big" value="${paciente_.nome}"> </html:text></td>

</tr>

Page 434: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

433

<tr><td>Pai</td><td><html:text property="pai" styleClass="big" value="${paciente_.pai}"> </html:text></td>

</tr>

<tr><td>Mae</td><td><html:text property="mae" styleClass="big" value="${paciente_.mae}"> </html:text></td>

</tr>

<tr><td>Conjuge</td><td><html:text property="conjuge" styleClass="big" value="${paciente_.conjuge}"> </html:text></td>

</tr>

<tr><td>Data Nascimento</td><td><html:text property="dataNascimento" styleClass="big" value="${paciente_.dataNascimento}"> </html:text></td>

</tr>

<tr><td>Nacionalidade</td><td><html:text property="nacionalidade" styleClass="big" value="${paciente_.nacionalidade}"> </html:text></td>

</tr>

<tr><td>Naturalidade</td><td><html:text property="naturalidade" styleClass="big" value="${paciente_.naturalidade}"> </html:text></td>

</tr>

<tr><td>NomeEmpresa</td><td><html:text property="nomeEmpresa" styleClass="big" value="${paciente_.nomeEmpresa}"> </html:text></td>

</tr>

Page 435: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

434

<tr><td>Sexo</td><td><html:radio property="sexo" value="M"> Masculino </html:radio><html:radio property="sexo" value="F"> Feminino </html:radio></td>

</tr>

<tr><td>Rua</td><td><html:text property="rua" styleClass="big" value="${paciente_.rua}"> </html:text></td>

</tr>

<tr><td>Numero</td><td><html:text property="numero" styleClass="big" value="${paciente_.numero}"> </html:text></td>

</tr>

<tr><td>Complemento</td><td><html:text property="complemento" styleClass="big" value="${paciente_.complemento}"> </html:text></td>

</tr>

<tr><td>Bairro</td><td><html:text property="bairro" styleClass="big" value="${paciente_.bairro}"> </html:text></td>

</tr>

<tr><td>Cidade</td><td><html:text property="cidade" styleClass="big" value="${paciente_.cidade}"> </html:text></td>

</tr>

<tr><td>Estado</td><td><html:text property="estado" styleClass="big" value="${paciente_.estado}"> </html:text></td>

</tr>

Page 436: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

435

<tr><td colspan="4" align="center"><button value="Enviar" onclick="escolherAcao('cadastrar');">Enviar</button></td>

</tr></table></td>

</tr></table>

</html:form></body><script language="javascript">function escolherAcao(acao){

document.forms.paciente.acao.value = acao;document.forms.paciente.submit();

}</script></html>

Page 437: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

436

5.1.48 SistemaAgendador/WebContent/jsp/cadastraUsuario.jsp

<%@page contentType="text/html; charset=ISO−8859−1" pageEncoding="ISO−8859−1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" pre�x="c" %><%@ taglib uri="/tags/struts−bean" pre�x="bean" %><%@ taglib uri="/tags/struts−html" pre�x="html" %><%@ taglib uri="/tags/struts−logic" pre�x="logic" %><html><head>

<link rel="stylesheet"href="<%=request.getContextPath() %>/css/Geral.css" />

<title>Cadastro áUsurio</title><meta http−equiv="Content−Type" content="text/html; charset=iso−8859−1"></head><body><html:form action="/usuarios.faca" onsubmit="return false">

<html:hidden property="acao" value="" /><html:hidden property="id" value="" /><table height="100%" width="100%">

<tr><td align="center"><h2 align="center">Cadastro de áUsurios</h2><table align="center">

<tr><td>Nome</td><td><html:text property="nome" value=""> </html:text></td>

</tr><tr>

<td>Login</td><td><html:text property="login" value=""> </html:text></td>

</tr><tr>

<td>Senha</td>

Page 438: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

437

<td><html:text property="senha" value=""> </html:text></td></tr>

<tr><td colspan="4" align="center"><button value="Enviar" onclick="escolherAcao('cadastrar');">Enviar</button></td>

</tr></table></td>

</tr></table>

</html:form></body><script language="javascript">function escolherAcao(botao){

document.forms.usuario.acao.value=botao;document.forms.usuario.submit();

}</script></html>

Page 439: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

438

5.1.49 SistemaAgendador/WebContent/jsp/index.jsp

<!DOCTYPE HTML PUBLIC "−//W3C//DTD HTML 4.01 Transitional//EN"><html><head>

<link rel="stylesheet"href="<%=request.getContextPath() %>/css/Geral.css" />

<title>Login</title><meta http−equiv="Content−Type" content="text/html; charset=iso−8859−1"></head>

<body onLoad="setFocus()"><img src="<%=request.getContextPath() %>/imagens/ship24.gif"></img><table>

<tr><td align="center"><form name="formularioLogin" action="agendador?action=login" method="post"><table>

<tr><td><pre>Login :</pre></td><td><input name="login" type="text" value="" size="50"

maxlength="50"></td></tr><tr>

<td><pre>Senha :</pre></td><td><input name="senha" type="password" value="" size="50"

maxlength="50"></td></tr>

</table></form></td>

</tr></table></body>

Page 440: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

439

<script language="javascript">

function setFocus(){document.login.login.focus ();

}</script></html>

Page 441: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

440

5.1.50 SistemaAgendador/JavaSource/actions/Gerenciador.java

<%@page contentType="text/html; charset=ISO−8859−1" pageEncoding="ISO−8859−1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" pre�x="c" %><%@ taglib uri="/tags/struts−bean" pre�x="bean" %><%@ taglib uri="/tags/struts−html" pre�x="html" %><%@ taglib uri="/tags/struts−logic" pre�x="logic" %><html><head><link href="css/teste.css" rel="stylesheet" type="text/css"><meta http−equiv="Content−Type" content="text/html; charset=ISO−8859−1"><title>Hospitais</title></head><body bgcolor="#FFFFF1"><table style="width:90%;height:50%;text−align: center;">

<tr><td align="center"><h2>Hospitais</h2>

<input type="hidden" name="selecionados" value=""><input type="hidden" name="acao" value="">

<table><tr bgcolor="#FFF8DC">

<th>Hospital</th></tr><c:if test="${empty hospitais}">

<tr bgcolor="#FFF8DC"><td><i> Nenhum resultado para sua busca </i></td>

</c:if><c:forEach var="hospital" items="${hospitais}" varStatus="s">

<tr bgcolor="FFF8DC"><td><a href="#" onclick="escolheHospital('${hospital.id}')">${hospital .nome}</a></td>

</tr></c:forEach>

</table>

Page 442: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

441

</td></tr></table>

</body>

<script language="javascript">function escolheHospital(hospital){

var url = '<%=request.getContextPath()%>/hospitais.faca';url = url + '?acao=mostrar&hospital=' + hospital;window.location = url;

}</script></html>

Page 443: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

442

5.1.51 SistemaAgendador/WebContent/jsp/listaPacientes.jsp

<%@page contentType="text/html; charset=ISO−8859−1" pageEncoding="ISO−8859−1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" pre�x="c" %><%@ taglib uri="/tags/struts−bean" pre�x="bean" %><%@ taglib uri="/tags/struts−html" pre�x="html" %><%@ taglib uri="/tags/struts−logic" pre�x="logic" %><html><head><link href="css/teste.css" rel="stylesheet" type="text/css"><meta http−equiv="Content−Type" content="text/html; charset=ISO−8859−1"><title>Pacientes</title></head><body bgcolor="#FFFFF1"><table style="width:90%;height:50%;text−align: center;">

<tr><td align="center"><h2>Pacientes</h2>

<input type="hidden" name="selecionados" value=""><input type="hidden" name="acao" value="">

<table><tr bgcolor="#FFF8DC">

<th>ãCarto Sus</th><th>Nome</th><th>ãMe</th>

</tr><c:if test="${empty pacientes}">

<tr bgcolor="#FFF8DC"><td><i> Nenhum resultado para sua busca </i></td>

</c:if><c:forEach var="paciente" items="${pacientes}" varStatus="s">

<tr bgcolor="FFF8DC"><td><a href="#" onclick="escolhePaciente('${paciente.cartaoSus}')">

${paciente.cartaoSus}</a></td><td><a href="#" onclick="escolhePaciente('${paciente.cartaoSus}')">

Page 444: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

443

${paciente.nome}</a></td><td>${paciente.mae}</td>

</tr></c:forEach>

</table></td>

</tr></table>

</body>

<script language="javascript">function escolhePaciente(paciente){

var url = '<%=request.getContextPath()%>/pacientes.faca';url = url + '?acao=mostrar&paciente=' + paciente;window.location = url;

}</script></html>

Page 445: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

444

5.1.52 SistemaAgendador/WebContent/jsp/menu.jsp

<!DOCTYPE HTML PUBLIC "−//W3C//DTD HTML 4.01 Transitional//EN"><html><head><link rel="stylesheet"

href="<%=request.getContextPath() %>/css/Geral.css" /><title>Menu</title><meta http−equiv="Content−Type" content="text/html; charset=iso−8859−1"></head><body><table>

<tr><td>&nbsp;</td>

</tr><tr>

<td><table id="cadastros">

<tr><th>Cadastros</th>

</tr><tr>

<td><ahref="<%=request.getContextPath() %>/usuarios.faca?acao=cadastro"target="mainFrame"> Cadastro de Usuario </a></td>

</tr><tr>

<td><ahref="<%=request.getContextPath() %>/pacientes.faca?acao=cadastro"target="mainFrame"> Cadastro de Paciente </a></td>

</tr><tr>

<td><ahref="<%=request.getContextPath() %>/hospitais.faca?acao=cadastro"target="mainFrame"> Cadastro de Hospital </a></td>

</tr>

Page 446: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

445

</table></td>

</tr><tr>

<td>&nbsp;</td></tr><tr>

<td><table id="consultas">

<tr><th>Consultas</th>

</tr><tr>

<td><a href="marcarConsulta" target="mainFrame"> çãMarcao deConsulta </a></td>

</tr></table></td>

</tr><tr>

<td>&nbsp;</td></tr><tr>

<td><a href=""> Logo� </a></td></tr>

</table></body></html>

Page 447: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

446

5.1.53 SistemaAgendador/WebContent/jsp/principal.jsp

<!DOCTYPE HTML PUBLIC "−//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"><html><head><link rel="stylesheet"

href="<%=request.getContextPath() %>/css/Geral.css" />

<title>Bem Vindo!</title><meta http−equiv="Content−Type" content="text/html; charset=iso−8859−1"></head>

<frameset rows="∗" cols="219,∗" framespacing="0" frameborder="YES" border="2"><frame src="menu.jsp" name="leftFrame" frameBorder="0" scrolling="NO" noresize><frame src="" name="mainFrame">

</frameset><noframes><body>

</body></noframes></html>

Page 448: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

447

5.1.54 SistemaAgendador/WebContent/jsp/relatorioConsulta.jsp

<%@ page language="java" contentType="text/html; charset=ISO−8859−1"pageEncoding="ISO−8859−1"%>

<%@ taglib pre�x="c" uri="http://java.sun.com/jsp/jstl/core"%><html><head><link href="css/teste.css" rel="stylesheet" type="text/css"><meta http−equiv="Content−Type" content="text/html; charset=ISO−8859−1"><title>Usuarios</title></head><body bgcolor="#FFFFF1">

<form name="relatorioUsuario" method="post" action="excluirUsuarios"><table style="width:90%;height:50%;text−align: center;">

<tr><td align="center"><h2>Usuarios</h2>

<input type="hidden" name="selecionados" value=""><input type="hidden" name="acao" value="">

<table><tr bgcolor="#FFF8DC">

<th>Login</th><th>Nome</th><th>Telefone</th><th>E−Mail</th>

<th><INPUT type="checkbox" onclick="mudaEstado(this)" value="" ></th></tr><c:if test="${empty usuarios}">

<tr bgcolor="#FFF8DC"><td colspan="5"><i> Nenhum resultado para sua busca </i></td>

</c:if><c:forEach var="usuario" items="${usuarios}" varStatus="s">

<tr bgcolor="FFF8DC"><td><a href="editaUsuario?login=${usuario.login}"> ${usuario.login}</a></td>

Page 449: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

448

<td>${usuario.nome}</td><td>${usuario.telefone}</td><td>${usuario.email}</td><td align="center"><input name="${usuario.login}" type="checkbox"value="${usuario.login}"></td>

</tr></c:forEach><c:if test="${!empty usuarios}">

<tr><td align="right" colspan="4"> <button style="height: auto;width: auto; font−family: Verdana, Arial, Helvetica, sans−serif; font−size: 12px; border: thin solid;" type="button" onclick="escolheAcao('voltar');" name=voltar value="";> voltar </button> </td><td align="rigth" colspan="4"> <button style="height: auto;width: auto; font−family: Verdana, Arial, Helvetica, sans−serif; font−size: 12px; border: thin solid;" type="button" onclick="veri�caSelecionados(); escolheAcao('excluir');"

name=excluir value="";> excluir </button> </td></tr>

</c:if><tr>

<td align="center" colspan="4"><div id="mensagem">

${msg}</div>

</td></tr>

</table></td>

</tr></table></form>

</body>

<script language="javascript">

function escolheAcao(botao){document.forms.relatorioUsuario.acao.value=botao;document.forms.relatorioUsuario.submit();

}

Page 450: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

449

function mudaEstado(opcao) {form = document.forms.relatorioUsuario;check = opcao.checked;tam = form.elements.length;for ( i=0; i<tam; i++)

if (form.elements[i ]. type == 'checkbox')form.elements[i ]. checked = check;

}function veri�caSelecionados (){

var mensagem = "";form = document.forms.relatorioUsuario;tam = form.elements.length;for ( i=0; i<tam; i++){

if (form.elements[i ]. type == 'checkbox'&& form.elements[i].checked == 1){mensagem = mensagem +","+ form.elements[i].value;

}}form.selecionados .value = mensagem;

}

</script></html>

Page 451: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

450

5.2 Módulo SUS

5.2.1 SistemaSUS/JavaSource/bd/hibernate/Banco.java

package bd.hibernate;

import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Con�guration;

public class Banco {

private static Banco banco;

SessionFactory sessionFactory;

private Banco() {sessionFactory = new Con�guration().con�gure().buildSessionFactory();

}

public static Banco getInstance() {if (banco == null)

banco = new Banco();return banco;

}

public Session getSession() {return sessionFactory.openSession();

}

}

Page 452: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

451

5.2.2 SistemaSUS/JavaSource/bd/hibernate/tabelas/Pacientes.java

package bd.hibernate.tabelas;

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.List ;

import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;

import bd.hibernate.Banco;import beans.Endereco;import beans.Paciente;

public class Pacientes {

private static Pacientes pacientes;

Banco banco;

private Pacientes() {banco = Banco.getInstance();

}

public static Pacientes getInstance() {if (pacientes == null)

pacientes = new Pacientes();return pacientes;

}

public List<Paciente> get() {Session session = banco.getSession();

Page 453: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

452

Transaction transaction = session.beginTransaction();Query query = session.createQuery("from Paciente");List<Paciente> p = query.list();transaction.commit();session . close ();return p;

}

public Paciente get(long paciente) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();Paciente p = (Paciente) session .get(Paciente.class, paciente );transaction.commit();session . close ();return p;

}

public List<Paciente> getPacientesNome( String nome){nome = "%" + nome +"%";Session session = banco.getSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery("from Paciente p where p.nome like :nome")

. setString("nome", nome);List<Paciente> m = query.list();transaction.commit();session . close ();return m;

}

public void atualizar(Paciente p){Session session = banco.getSession();Transaction transaction = session.beginTransaction();session .update(p);transaction.commit();session . close ();

Page 454: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

453

}

public void set(Paciente paciente) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();session .save(paciente );transaction.commit();session . close ();

}

private static void povoar(){Paciente p = new Paciente();p.setCartaoSus(2008954);p.setConjuge("Jose�na de Andrade");p.setEndereco(new Endereco());p.getEndereco().setBairro("Jardim Laranjeiras");p.getEndereco().setRua("rua das Abacates Flamejantes");p.getEndereco().setNumero(666);p.getEndereco().setCidade("çBiguau");p.getEndereco().setEstado("SC");p.setPai("Juracir Botelho Pinto");p.setMae("Maria Botelho Pinto");p.setNome("Francismar Botelho Pinto");p.setSexo("m");Date d = new Date();try {

d = new SimpleDateFormat("dd/MM/yyyy").parse("23/08/1972");} catch (ParseException e) {

// TODO Auto−generated catch blocke.printStackTrace();

}Calendar c = Calendar.getInstance();c.setTime(d);p.setDataNascimento(c);p.setNacionalidade("Brasileiro");

Page 455: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

454

p.setNaturalidade("Tijucas");Pacientes.getInstance (). set(p);

}

private static void buscarPorNome(){String nome = "telho";List<Paciente> pacientes = Pacientes.getInstance().getPacientesNome(nome);for (Paciente paciente : pacientes) {

System.out.println(paciente.getCartaoSus() + paciente.getNome());}

}

public static void main(String[] args) {//buscarPorNome();povoar();

}}

Page 456: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

455

5.2.3 SistemaSUS/JavaSource/beans/Endereco.java

package beans;

public class Endereco {private String rua;

private int numero;

private String complemento;

private String bairro;

private String cidade;

private String estado;

/∗∗∗ @return Returns the bairro.∗/public String getBairro() {

return bairro;}

/∗∗∗ @param bairro∗ The bairro to set .∗/public void setBairro(String bairro) {

this.bairro = bairro;}

/∗∗∗ @return Returns the cidade.∗/public String getCidade() {

Page 457: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

456

return cidade;}

/∗∗∗ @param cidade∗ The cidade to set .∗/public void setCidade(String cidade) {

this.cidade = cidade;}

/∗∗∗ @return Returns the estado.∗/public String getEstado() {

return estado;}

/∗∗∗ @param estado∗ The estado to set .∗/public void setEstado(String estado) {

this.estado = estado;}

/∗∗∗ @return Returns the numero.∗/public int getNumero() {

return numero;}

/∗∗∗ @param numero

Page 458: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

457

∗ The numero to set.∗/public void setNumero(int numero) {

this.numero = numero;}

/∗∗∗ @return Returns the rua.∗/public String getRua() {

return rua;}

/∗∗∗ @param rua∗ The rua to set.∗/public void setRua(String rua) {

this.rua = rua;}

/∗∗∗ @return Returns the complemento.∗/public String getComplemento() {

return complemento;}

/∗∗∗ @param complemento∗ The complemento to set.∗/public void setComplemento(String complemento) {

this.complemento = complemento;}

Page 459: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

458

}

Page 460: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

459

5.2.4 SistemaSUS/JavaSource/beans/Paciente.java

package beans;

import java.util.Calendar;

/∗∗ Created on 19/03/2005∗∗ TODO To change the template for this generated �le go to∗ Window − Preferences − Java − Code Style − Code Templates∗/

/∗∗∗ @author óNs∗∗ TODO To change the template for this generated type comment go to Window −∗ Preferences − Java − Code Style − Code Templates∗/public class Paciente {

private long cartaoSus;

private String nome;

private String sexo;

private Calendar dataNascimento;

private int estadoCivil;

private String pai;

private String mae;

private String conjuge;

Page 461: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

460

private String nacionalidade;

private String naturalidade;

private String nomeEmpresa;

private Endereco endereco;

/∗∗∗ @return Returns the cartaoSus.∗/public long getCartaoSus() {

return cartaoSus;}

/∗∗∗ @param cartaoSus The cartaoSus to set.∗/public void setCartaoSus(long cartaoSus) {

this.cartaoSus = cartaoSus;}

/∗∗∗ @return Returns the conjuge.∗/public String getConjuge() {

return conjuge;}

/∗∗∗ @param conjuge The conjuge to set.∗/public void setConjuge(String conjuge) {

this.conjuge = conjuge;

Page 462: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

461

}

/∗∗∗ @return Returns the dataNascimento.∗/public Calendar getDataNascimento() {

return dataNascimento;}

/∗∗∗ @param dataNascimento The dataNascimento to set.∗/public void setDataNascimento(Calendar dataNascimento) {

this.dataNascimento = dataNascimento;}

/∗∗∗ @return Returns the endereco.∗/public Endereco getEndereco() {

return endereco;}

/∗∗∗ @param endereco The endereco to set.∗/public void setEndereco(Endereco endereco) {

this.endereco = endereco;}

/∗∗∗ @return Returns the estadoCivil.∗/public int getEstadoCivil() {

return estadoCivil;

Page 463: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

462

}

/∗∗∗ @param estadoCivil The estadoCivil to set.∗/public void setEstadoCivil(int estadoCivil) {

this.estadoCivil = estadoCivil;}

/∗∗∗ @return Returns the mae.∗/public String getMae() {

return mae;}

/∗∗∗ @param mae The mae to set.∗/public void setMae(String mae) {

this.mae = mae;}

/∗∗∗ @return Returns the nacionalidade.∗/public String getNacionalidade() {

return nacionalidade;}

/∗∗∗ @param nacionalidade The nacionalidade to set.∗/public void setNacionalidade(String nacionalidade) {

this.nacionalidade = nacionalidade;

Page 464: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

463

}

/∗∗∗ @return Returns the naturalidade.∗/public String getNaturalidade() {

return naturalidade;}

/∗∗∗ @param naturalidade The naturalidade to set.∗/public void setNaturalidade(String naturalidade) {

this.naturalidade = naturalidade;}

/∗∗∗ @return Returns the nome.∗/public String getNome() {

return nome;}

/∗∗∗ @param nome The nome to set.∗/public void setNome(String nome) {

this.nome = nome;}

/∗∗∗ @return Returns the nomeEmpresa.∗/public String getNomeEmpresa() {

return nomeEmpresa;

Page 465: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

464

}

/∗∗∗ @param nomeEmpresa The nomeEmpresa to set.∗/public void setNomeEmpresa(String nomeEmpresa) {

this.nomeEmpresa = nomeEmpresa;}

/∗∗∗ @return Returns the pai.∗/public String getPai() {

return pai;}

/∗∗∗ @param pai The pai to set.∗/public void setPai(String pai) {

this.pai = pai;}

/∗∗∗ @return Returns the sexo.∗/public String getSexo() {

return sexo;}

/∗∗∗ @param sexo The sexo to set.∗/public void setSexo(String sexo) {

this.sexo = sexo;

Page 466: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

465

}

}

Page 467: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

466

5.2.5 SistemaSUS/JavaSource/service/SUS.java

package service;

import bd.hibernate.tabelas.Pacientes;import beans.Paciente;

public class SUS {

private Pacientes pacientes;

public SUS() {pacientes = Pacientes.getInstance();

}

public void cadastrarPaciente(Paciente p) {pacientes . set(p);

}

public void alterarCadastroPaciente(Paciente p ){pacientes . atualizar (p);

}

public Object[] buscar(String nome){return pacientes.getPacientesNome(nome).toArray();

}

public Paciente getPaciente(long paciente){return pacientes.get(paciente);

}

}

Page 468: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

467

5.2.6 SistemaSUS/JavaSource/uteis/Constantes.java

package uteis;

public interface Constantes {

public enum Especialidade {

CARDIOLOGISTA, ORTOPEDISTA, GINECOLOGISTA, OFTALMOLOGISTA, UROLOGISTA, GERAL, PISQUIATRA, DERMATOLOGISTA, OTORRINO,};

public enum EstadoCivil{SOLTEIRO, CASADO, DIVORCIADO, JUNTO, VIUVO

}

public enum Escolaridade{NAO_FREQUENTOU, PRIMARIO_INCOMPLETO, PRIMARIO, FUNDAMENTAL_INCOMPLETO, FUNDAMENTAL, MEDIO_INCOMPLETO, MEDIO, SUPERIOR_INCOMPLETO, SUPERIOR, MESTRE, DOUTOR

}}

Page 469: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

468

5.2.7 SistemaSUS/WebContent/META-INF/MANIFEST.MF

Manifest−Vers ion : 1 . 0Class−Path :

5.2.8 SistemaSUS/WebContent/WEB-INF/SUSService/service/deploy.wsdd

<?xml ve r s i on ="1.0" encoding="UTF−8"?><!−− Use t h i s f i l e to deploy some hand le r s / cha ins and s e r v i c e s−−><!−− Two ways to do t h i s :−−><!−− java org . apache . ax i s . c l i e n t . AdminClient deploy . wsdd−−><!−− a f t e r the ax i s s e r v e r i s running−−><!−− or−−><!−− java org . apache . ax i s . u t i l s . Admin c l i e n t | s e r v e r deploy . wsdd−−><!−− from the same d i r e c t o r y that the Axis eng ine runs−−><deployment xmlns="http :// xml . apache . org / ax i s /wsdd/" xmlns : java="http :// xml . apache . org / ax i s /wsdd/ prov ide r s / java">

<!−− Se r v i c e s from SUSService WSDL s e r v i c e −−>

<s e r v i c e name="SUS" prov ide r="java :RPC" s t y l e="wrapped" use=" l i t e r a l "><parameter name="wsdlTargetNamespace" value="http :// s e r v i c e "/><parameter name="wsdlServiceElement " value="SUSService"/><parameter name="schemaQual i f i ed " value="http :// s e r v i c e , http :// beans"/><parameter name="wsd lServ i cePort " value="SUS"/><parameter name="className" value="s e r v i c e . SUS"/><parameter name="wsdlPortType" value="SUS"/><parameter name="typeMappingVersion" value="1.2"/><operat i on xmlns : operNS="http :// s e r v i c e " name="cadas t ra rPac i en t e " qname="operNS : cadas t ra rPac i en t e " soapAction="">

<parameter xmlns : pns="http :// s e r v i c e " xmlns : tns="http :// beans" qname="pns : p" type="tns : Pac iente"/></operat ion><operat i on xmlns : operNS="http :// s e r v i c e " name="a l t e ra rCadas t roPac i en t e " qname="operNS : a l t e ra rCadas t roPac i en t e " soapAction="">

<parameter xmlns : pns="http :// s e r v i c e " xmlns : tns="http :// beans" qname="pns : p" type="tns : Pac iente"/></operat ion><operat i on xmlns : operNS="http :// s e r v i c e " xmlns : retNS="http :// s e r v i c e " xmlns : r tn s="http ://www.w3 . org /2001/XMLSchema" name="buscar " qname="operNS : buscar " returnQName="retNS : buscarReturn " returnType="r tn s : anyType" soapAction="">

<parameter xmlns : pns="http :// s e r v i c e " xmlns : tns="http ://www.w3 . org /2001/XMLSchema" qname="pns : nome" type="tns : s t r i n g "/></operat ion><operat i on xmlns : operNS="http :// s e r v i c e " xmlns : retNS="http :// s e r v i c e " xmlns : r tn s="http :// beans" name="getPac i ente " qname="operNS : ge tPac i ente " returnQName="retNS : getPac ienteReturn " returnType="r tn s : Pac iente " soapAction="">

<parameter xmlns : pns="http :// s e r v i c e " xmlns : tns="http ://www.w3 . org /2001/XMLSchema" qname="pns : pac i en te " type="tns : long"/>

Page 470: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

469

</operat ion><parameter name="allowedMethods" value="a l t e ra rCadas t roPac i en t e buscar cadas t ra rPac i en t e ge tPac i ente"/>

<typeMapping xmlns : ns="http :// beans" qname="ns : Pac iente " type="java : beans . Pac iente " s e r i a l i z e r="org . apache . ax i s . encoding . s e r . BeanSe r i a l i z e rFac to ry " d e s e r i a l i z e r="org . apache . ax i s . encoding . s e r . BeanDese r i a l i z e rFac to ry " encod ingSty l e=""/><typeMapping xmlns : ns="http :// beans" qname="ns : Endereco" type="java : beans . Endereco" s e r i a l i z e r="org . apache . ax i s . encoding . s e r . BeanSe r i a l i z e rFac to ry " d e s e r i a l i z e r="org . apache . ax i s . encoding . s e r . BeanDese r i a l i z e rFac to ry " encod ingSty l e=""/>

</s e rv i c e ></deployment>

5.2.9 SistemaSUS/WebContent/WEB-INF/SUSService/service/undeploy.wsdd

<!−− Use t h i s f i l e to undeploy some hand le r s / cha ins and s e r v i c e s−−><!−− Two ways to do t h i s :−−><!−− java org . apache . ax i s . c l i e n t . AdminClient undeploy . wsdd−−><!−− a f t e r the ax i s s e r v e r i s running−−><!−− or−−><!−− java org . apache . ax i s . u t i l s . Admin c l i e n t | s e r v e r undeploy . wsdd −−><!−− from the same d i r e c t o r y that the Axis eng ine runs−−>

<undeploymentxmlns="http :// xml . apache . org / ax i s /wsdd/">

<!−− Se r v i c e s from SUSService WSDL s e r v i c e −−>

<s e r v i c e name="SUS"/></undeployment>

5.2.10 SistemaSUS/JavaSource/bd/hibernate/Banco.java

<?xml ve r s i on ="1.0" encoding="UTF−8"?><deployment xmlns="http :// xml . apache . org / ax i s /wsdd/" xmlns : java="http :// xml . apache . org / ax i s /wsdd/ prov ide r s / java"><globa lCon f i gura t i on>

Page 471: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

470

<parameter name="sendMult iRefs " va lue="true"/><parameter name="disablePrettyXML" value="true"/><parameter name="adminPassword" value="admin"/><parameter name="attachments . D i r ec to ry " value="/home/workspace/SistemaSUS / . dep loyab l e s /SistemaSUS/WEB−INF/attachments"/><parameter name="dotNetSoapEncFix" value="true"/><parameter name="enableNamespacePref ixOptimizat ion " value="true"/><parameter name="sendXMLDeclaration" value="true"/><parameter name="sendXsiTypes" value="true"/><parameter name="attachments . implementation " value="org . apache . ax i s . attachments . AttachmentsImpl"/><requestFlow><handler type="java : org . apache . ax i s . hand le r s . JWSHandler"><parameter name="scope " value="s e s s i o n "/>

</handler><handler type="java : org . apache . ax i s . hand le r s . JWSHandler"><parameter name="scope " value="reques t"/><parameter name="extens i on " value=". jwr"/>

</handler></requestFlow>

</g loba lCon f i gura t i on><handler name="LocalResponder " type="java : org . apache . ax i s . t r an spo r t . l o c a l . LocalResponder"/><handler name="URLMapper" type="java : org . apache . ax i s . hand le r s . http .URLMapper"/><handler name="Authent icate " type="java : org . apache . ax i s . hand le r s . S impleAuthent icat ionHandler"/><s e r v i c e name="SUS" prov ide r="java :RPC" s t y l e="wrapped" use=" l i t e r a l "><operat i on name="cadas t ra rPac i en t e " qname="ns1 : cadas t ra rPac i en t e " soapAction="" xmlns : ns1="http :// s e r v i c e "><parameter qname="ns1 : p" type="ns2 : Pac iente " xmlns : ns2="http :// beans"/>

</operat ion><operat i on name="a l t e ra rCadas t roPac i en t e " qname="ns3 : a l t e ra rCadas t roPac i en t e " soapAction="" xmlns : ns3="http :// s e r v i c e "><parameter qname="ns3 : p" type="ns4 : Pac iente " xmlns : ns4="http :// beans"/>

</operat ion><operat i on name="buscar " qname="ns5 : buscar " returnQName="ns5 : buscarReturn" returnType="xsd : anyType" soapAction="" xmlns : ns5="http :// s e r v i c e " xmlns : xsd="http ://www.w3 . org /2001/XMLSchema"><parameter qname="ns5 : nome" type="xsd : s t r i n g "/>

</operat ion><operat i on name="getPac i ente " qname="ns6 : ge tPac i ente " returnQName="ns6 : getPac ienteReturn " returnType="ns7 : Pac iente " soapAction="" xmlns : ns6="http :// s e r v i c e " xmlns : ns7="http :// beans"><parameter qname="ns6 : pac i en te " type="xsd : long " xmlns : xsd="http ://www.w3 . org /2001/XMLSchema"/>

</operat ion>

Page 472: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

471

<parameter name="allowedMethods" value="a l t e ra rCadas t roPac i en t e buscar cadas t ra rPac i en t e ge tPac i ente"/><parameter name="typeMappingVersion" value="1.2"/><parameter name="wsdlPortType" value="SUS"/><parameter name="className" value="s e r v i c e . SUS"/><parameter name="wsd lServ i cePort " value="SUS"/><parameter name="schemaQual i f i ed " value="http :// s e r v i c e , http :// beans"/><parameter name="wsdlTargetNamespace" value="http :// s e r v i c e "/><parameter name="wsdlServiceElement " value="SUSService"/><typeMapping d e s e r i a l i z e r="org . apache . ax i s . encoding . s e r . BeanDese r i a l i z e rFac to ry " encod ingSty l e="" qname="ns8 : Pac iente " s e r i a l i z e r="org . apache . ax i s . encoding . s e r . BeanSe r i a l i z e rFac to ry " type="java : beans . Pac iente " xmlns : ns8="http :// beans"/><typeMapping d e s e r i a l i z e r="org . apache . ax i s . encoding . s e r . BeanDese r i a l i z e rFac to ry " encod ingSty l e="" qname="ns9 : Endereco" s e r i a l i z e r="org . apache . ax i s . encoding . s e r . BeanSe r i a l i z e rFac to ry " type="java : beans . Endereco" xmlns : ns9="http :// beans"/>

</s e rv i c e ><s e r v i c e name="AdminService" prov ide r="java :MSG"><parameter name="allowedMethods" value="AdminService"/><parameter name="enableRemoteAdmin" value="true"/><parameter name="className" value="org . apache . ax i s . u t i l s . Admin"/><namespace>http :// xml . apache . org / ax i s /wsdd/</namespace>

</s e rv i c e ><s e r v i c e name="Vers ion " prov ide r="java :RPC"><parameter name="allowedMethods" value="getVers ion"/><parameter name="className" value="org . apache . ax i s . Vers ion"/>

</s e rv i c e ><transpo r t name="http"><requestFlow><handler type="URLMapper"/><handler type="java : org . apache . ax i s . hand le r s . http . HTTPAuthHandler"/>

</requestFlow><parameter name="qs : l i s t " va lue="org . apache . ax i s . t r an spo r t . http . QSListHandler"/><parameter name="qs : wsdl " value="org . apache . ax i s . t r an spo r t . http .QSWSDLHandler"/><parameter name="qs . l i s t " va lue="org . apache . ax i s . t r an spo r t . http . QSListHandler"/><parameter name="qs . method" value="org . apache . ax i s . t r an spo r t . http . QSMethodHandler"/><parameter name="qs : method" value="org . apache . ax i s . t r an spo r t . http . QSMethodHandler"/><parameter name="qs . wsdl " value="org . apache . ax i s . t r an spo r t . http .QSWSDLHandler"/>

</transport><transpo r t name=" l o c a l "><responseFlow>

Page 473: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

472

<handler type="LocalResponder"/></responseFlow>

</transport></deployment>

5.2.11 SistemaSUS/WebContent/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF−8"?><web−app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema−instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web−app_2_4.xsd">

<display−name>SistemaSUS</display−name><servlet>

<display−name>Apache−Axis Servlet</display−name><servlet−name>AxisServlet</servlet−name><servlet−class>org.apache.axis.transport.http.AxisServlet</servlet−class>

</servlet><servlet>

<display−name>Axis Admin Servlet</display−name><servlet−name>AdminServlet</servlet−name><servlet−class>org.apache.axis.transport.http.AdminServlet</servlet−class><load−on−startup>100</load−on−startup>

</servlet><servlet−mapping>

<servlet−name>AxisServlet</servlet−name><url−pattern>/servlet/AxisServlet</url−pattern>

</servlet−mapping><servlet−mapping>

<servlet−name>AxisServlet</servlet−name><url−pattern>∗.jws</url−pattern>

</servlet−mapping><servlet−mapping>

<servlet−name>AxisServlet</servlet−name>

Page 474: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

473

<url−pattern>/services/∗</url−pattern></servlet−mapping><servlet−mapping>

<servlet−name>AdminServlet</servlet−name><url−pattern>/servlet/AdminServlet</url−pattern>

</servlet−mapping><welcome−�le−list>

<welcome−�le>index.html</welcome−�le><welcome−�le>index.htm</welcome−�le><welcome−�le>index.jsp</welcome−�le><welcome−�le>default.html</welcome−�le><welcome−�le>default.htm</welcome−�le><welcome−�le>default.jsp</welcome−�le>

</welcome−�le−list></web−app>

5.2.12 SistemaSUS/WebContent/wsdl/SUS.wsdl

<?xml ve r s i on ="1.0" encoding="UTF−8"?><wsdl : d e f i n i t i o n s targetNamespace="http :// s e r v i c e " xmlns : apachesoap="http :// xml . apache . org /xml−soap" xmlns : impl="http :// s e r v i c e " xmlns : i n t f="http :// s e r v i c e " xmlns : tns1="http :// beans" xmlns : wsdl="http :// schemas . xmlsoap . org /wsdl /" xmlns : wsdlsoap="http :// schemas . xmlsoap . org /wsdl / soap /" xmlns : xsd="http ://www.w3 . org /2001/XMLSchema"><!−−WSDL created by Apache Axis v e r s i on : 1 . 2 . 1Bu i l t on Jun 14 , 2005 ( 09 : 1 5 : 5 7 EDT)−−><wsdl : types><schema elementFormDefault="q u a l i f i e d " targetNamespace="http :// s e r v i c e " xmlns="http ://www.w3 . org /2001/XMLSchema"><import namespace="http :// beans"/><element name="cadas t ra rPac i en t e"><complexType><sequence><element name="p" type="tns1 : Pac iente"/>

</sequence></complexType>

</element><element name="cadast rarPac ienteResponse"><complexType/>

</element><element name="a l t e ra rCadas t roPac i en t e">

Page 475: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

474

<complexType><sequence><element name="p" type="tns1 : Pac iente"/>

</sequence></complexType>

</element><element name="a l te rarCadast roPac i enteResponse"><complexType/>

</element><element name="buscar"><complexType><sequence><element name="nome" type="xsd : s t r i n g "/>

</sequence></complexType>

</element><element name="buscarResponse"><complexType><sequence><element maxOccurs="unbounded" name="buscarReturn" type="xsd : anyType"/>

</sequence></complexType>

</element><element name="getPac i ente"><complexType><sequence><element name="pac i en te " type="xsd : long"/>

</sequence></complexType>

</element><element name="getPacienteResponse"><complexType><sequence><element name="getPacienteReturn " type="tns1 : Pac iente"/>

</sequence>

Page 476: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

475

</complexType></element>

</schema><schema elementFormDefault="q u a l i f i e d " targetNamespace="http :// beans" xmlns="http ://www.w3 . org /2001/XMLSchema"><complexType name="Endereco"><sequence><element name="ba i r r o " n i l l a b l e="true " type="xsd : s t r i n g "/><element name="cidade " n i l l a b l e="true " type="xsd : s t r i n g "/><element name="complemento" n i l l a b l e="true " type="xsd : s t r i n g "/><element name="estado " n i l l a b l e="true " type="xsd : s t r i n g "/><element name="numero" type="xsd : i n t "/><element name="rua" n i l l a b l e="true " type="xsd : s t r i n g "/>

</sequence></complexType><complexType name="Pac iente"><sequence><element name="cartaoSus " type="xsd : long"/><element name="conjuge " n i l l a b l e="true " type="xsd : s t r i n g "/><element name="dataNascimento" n i l l a b l e="true " type="xsd : dateTime"/><element name="endereco " n i l l a b l e="true " type="tns1 : Endereco"/><element name="e s t adoC iv i l " type="xsd : i n t "/><element name="mae" n i l l a b l e="true " type="xsd : s t r i n g "/><element name="nac i ona l idade " n i l l a b l e="true " type="xsd : s t r i n g "/><element name="natura l idade " n i l l a b l e="true " type="xsd : s t r i n g "/><element name="nome" n i l l a b l e="true " type="xsd : s t r i n g "/><element name="nomeEmpresa" n i l l a b l e="true " type="xsd : s t r i n g "/><element name="pai " n i l l a b l e="true " type="xsd : s t r i n g "/><element name="sexo " n i l l a b l e="true " type="xsd : s t r i n g "/>

</sequence></complexType>

</schema></wsdl : types>

<wsdl : message name="getPac ienteRequest">

Page 477: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

476

<wsdl : part element="impl : ge tPac i ente " name="parameters"/>

</wsdl : message>

<wsdl : message name="cadast rarPac ienteResponse">

<wsdl : part element="impl : cadast rarPac ienteResponse " name="parameters"/>

</wsdl : message>

<wsdl : message name="getPac ienteResponse">

<wsdl : part element="impl : getPac ienteResponse " name="parameters"/>

</wsdl : message>

<wsdl : message name="a l t e ra rCadast roPac i enteReques t">

<wsdl : part element="impl : a l t e r a rCadas t roPac i en t e " name="parameters"/>

</wsdl : message>

<wsdl : message name="a l te rarCadast roPac i enteResponse">

<wsdl : part element="impl : a l t e rarCadast roPac i enteResponse " name="parameters"/>

</wsdl : message>

<wsdl : message name="cadast rarPac i enteRequest">

<wsdl : part element="impl : cadas t ra rPac i en t e " name="parameters"/>

</wsdl : message>

<wsdl : message name="buscarResponse">

Page 478: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

477

<wsdl : part element="impl : buscarResponse " name="parameters"/>

</wsdl : message>

<wsdl : message name="buscarRequest">

<wsdl : part element="impl : buscar " name="parameters"/>

</wsdl : message>

<wsdl : portType name="SUS">

<wsdl : ope ra t i on name="cadas t ra rPac i en t e">

<wsdl : input message="impl : cadast rarPac i enteRequest " name="cadast rarPac i enteRequest"/>

<wsdl : output message="impl : cadast rarPac ienteResponse " name="cadast rarPac ienteResponse"/>

</wsdl : operat ion>

<wsdl : ope ra t i on name="a l t e ra rCadas t roPac i en t e">

<wsdl : input message="impl : a l t e ra rCadast roPac i enteReques t " name="a l t e ra rCadast roPac i enteReques t"/>

<wsdl : output message="impl : a l t e rarCadast roPac i enteResponse " name="a l te rarCadast roPac i enteResponse"/>

</wsdl : operat ion>

<wsdl : ope ra t i on name="buscar">

<wsdl : input message="impl : buscarRequest " name="buscarRequest"/>

<wsdl : output message="impl : buscarResponse " name="buscarResponse"/>

Page 479: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

478

</wsdl : operat ion>

<wsdl : ope ra t i on name="getPac i ente">

<wsdl : input message="impl : getPac ienteRequest " name="getPac ienteRequest"/>

<wsdl : output message="impl : getPac ienteResponse " name="getPac ienteResponse"/>

</wsdl : operat ion>

</wsdl : portType>

<wsdl : b inding name="SUSSoapBinding" type="impl : SUS">

<wsdlsoap : b inding s t y l e="document" t ranspo r t="http :// schemas . xmlsoap . org / soap/http"/>

<wsdl : ope ra t i on name="cadas t ra rPac i en t e">

<wsdlsoap : opera t i on soapAction=""/>

<wsdl : input name="cadast rarPac i enteRequest">

<wsdlsoap : body use=" l i t e r a l "/>

</wsdl : input>

<wsdl : output name="cadast rarPac ienteResponse">

<wsdlsoap : body use=" l i t e r a l "/>

</wsdl : output>

</wsdl : operat ion>

<wsdl : ope ra t i on name="a l t e ra rCadas t roPac i en t e">

Page 480: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

479

<wsdlsoap : opera t i on soapAction=""/>

<wsdl : input name="a l t e ra rCadast roPac i enteReques t">

<wsdlsoap : body use=" l i t e r a l "/>

</wsdl : input>

<wsdl : output name="a l te rarCadast roPac i enteResponse">

<wsdlsoap : body use=" l i t e r a l "/>

</wsdl : output>

</wsdl : operat ion>

<wsdl : ope ra t i on name="buscar">

<wsdlsoap : opera t i on soapAction=""/>

<wsdl : input name="buscarRequest">

<wsdlsoap : body use=" l i t e r a l "/>

</wsdl : input>

<wsdl : output name="buscarResponse">

<wsdlsoap : body use=" l i t e r a l "/>

</wsdl : output>

</wsdl : operat ion>

Page 481: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

480

<wsdl : ope ra t i on name="getPac i ente">

<wsdlsoap : opera t i on soapAction=""/>

<wsdl : input name="getPac ienteRequest">

<wsdlsoap : body use=" l i t e r a l "/>

</wsdl : input>

<wsdl : output name="getPacienteResponse">

<wsdlsoap : body use=" l i t e r a l "/>

</wsdl : output>

</wsdl : operat ion>

</wsdl : binding>

<wsdl : s e r v i c e name="SUSService">

<wsdl : port b inding="impl : SUSSoapBinding" name="SUS">

<wsdlsoap : address l o c a t i o n="http :// l o c a l h o s t :8080/ SistemaSUS/ s e r v i c e s /SUS"/>

</wsdl : port>

</wsdl : s e r v i c e >

</wsdl : d e f i n i t i o n s >

5.2.13 SistemaSUS/JavaSource/beans/Paciente.hbm.xml

<?xml version="1.0"?><!DOCTYPE hibernate−mapping PUBLIC

Page 482: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

481

"−//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge .net/hibernate−mapping−3.0.dtd">

<hibernate−mapping><class name="beans.Paciente" table="PACIENTES">

<id name="cartaoSus"><column name="ID" not−null="true" /><generator class="assigned" />

</id>

<property name="nome"><column name="NOME" length="50" not−null="true" />

</property>

<property name="sexo"><column name="SEXO" />

</property>

<property name="dataNascimento"><column name="NACIMENTO" />

</property>

<property name="estadoCivil"><column name="ESTADO_CIVIL" />

</property>

<property name="pai"><column name="PAI" />

</property>

<property name="mae"><column name="MAE" />

</property>

<property name="conjuge"><column name="CONJUGE" not−null="false"/>

Page 483: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

482

</property>

<property name="nacionalidade"><column name="NACIONALIDADE" />

</property>

<property name="naturalidade"><column name="NATURALIDADE" />

</property>

<property name="nomeEmpresa"><column name="EMPRESA" not−null="false"/>

</property>

<component name="endereco" class="beans.Endereco"><property name="rua">

<column name="RUA" /></property>

<property name="numero"><column name="NUMERO" />

</property>

<property name="complemento"><column name="COMPLEMENTO" not−null="false"/>

</property>

<property name="bairro"><column name="BAIRRO" />

</property>

<property name="cidade"><column name="CIDADE"/>

</property>

Page 484: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

483

<property name="estado"><column name="ESTADO"/>

</property>

</component></class>

</hibernate−mapping>

5.3 Módulo Hospital

5.3.1 SistemaHospital/JavaSource/bd/hibernate/Banco.java

package bd.hibernate;

import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Con�guration;

public class Banco {

private static Banco banco;

SessionFactory sessionFactory;

private Banco() {sessionFactory = new Con�guration().con�gure().buildSessionFactory();

}

public static Banco getInstance() {if (banco == null)

banco = new Banco();return banco;

}

public Session getSession() {return sessionFactory.openSession();

Page 485: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

484

}

}

Page 486: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

485

5.3.2 SistemaHospital/JavaSource/bd/hibernate/tabelas/Consultas.java

package bd.hibernate.tabelas;

import java.util. Iterator ;import java.util.LinkedList;import java.util.List ;

import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;

import uteis.Data;import bd.hibernate.Banco;import beans.Consulta;import beans.Medico;import beans.Paciente;

public class Consultas {

private static Consultas consultas;

private Banco banco;

public void marcar(long consulta, Paciente paciente) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();Consulta c = (Consulta) session.get(Consulta.class, consulta);c.setPaciente(paciente );session .saveOrUpdate(paciente);transaction.commit();session . close ();

}

public void desmarcar(long consulta){Session session = banco.getSession();

Page 487: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

486

Transaction transaction = session.beginTransaction();Consulta c = (Consulta) session.get(Consulta.class, consulta);c.setPaciente(null);transaction.commit();session . close ();

}

public List<Consulta> getConsultasPaciente(long paciente) {String q = "from Consulta c where c.paciente = '"+ paciente +"' "

+ "order by c.data asc, c.hora asc";Session session = banco.getSession();Transaction transaction = session.beginTransaction();session .get(Paciente.class, paciente );Query query = session.createQuery(q);List<Consulta> consultas = query.list();transaction.commit();session . close ();return consultas;

}

public List<Consulta> get(long medico, long paciente) {String q = "from Consulta c where c.medico = '"

+ medico + "'" + "and c.paciente = '"+ paciente +"' "+ "' order by c.data asc, c.hora asc";

Session session = banco.getSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery(q);List<Consulta> consultas = query.list();transaction.commit();session . close ();return consultas;

}

public List<Consulta> getDisponiveisEspecialidade(int especialidade) {Data data = new Data();

Page 488: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

487

String q1 = "from Consulta c where c.medico.especialidade = '"+ especialidade + "'" + "and c.paciente is null and c.data = '"+ data.dataInvertida() + "' and c.hora > '" + data.getHora()+ "' order by c.hora asc";String q2 = "from Consulta c where c.medico.especialidade = '"+ especialidade + "'" + "and c.paciente is null and c.data > '"+ data.dataInvertida() + "' order by c.data asc, c.hora asc";

Session session = banco.getSession();Transaction transaction = session.beginTransaction();session .createQuery("from Medico m where m.especialidade = '" + especialidade +"'").list();Query query = session.createQuery(q1);List<Consulta> consultas = query.list();consultas .addAll(session.createQuery(q2). list ());transaction.commit();session . close ();for (Consulta consulta : consultas) {

consulta.inverterData();}return consultas;

}

public List<Consulta> getDisponiveisMedico(long medico) {Data data = new Data();Session session = banco.getSession();Transaction transaction = session.beginTransaction();session .get(Medico.class, medico);String q1 = "from Consulta c where c.medico = '"

+ medico + "'" + "and c.paciente is null and c.data = '"+ data.dataInvertida() + "' and c.hora > '" + data.getHora()+ "' order by c.hora asc";String q2 = "from Consulta c where c.medico = '" + medico+ "'" + "and c.paciente is null and c.data > '"+ data.dataInvertida() + "' order by c.data asc, c.hora asc";

Query query = session.createQuery(q1);List<Consulta> consultas = query.list();

Page 489: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

488

consultas .addAll(session.createQuery(q2). list ());transaction.commit();session . close ();for (Consulta consulta : consultas) {

consulta.inverterData();}return consultas;

}

public Consulta get(long consulta) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();Consulta c = (Consulta) session.get(Consulta.class, consulta);transaction.commit();session . close ();return c;

}

public void set(LinkedList<Consulta> consultas) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();for (Consulta c : consultas) {

session .save(c);}transaction.commit();session . close ();

}

private Consultas() {banco = Banco.getInstance();

}

public static Consultas getInstance() {if (consultas == null)

consultas = new Consultas();

Page 490: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

489

return consultas;}

private static void testarMarcarConsulta(){Paciente p = new Paciente();p.setCartaoSus(250086);p.setNome("australopitecos da silva neto");Consultas.getInstance().marcar(1,p);

}

private static void povoar(){LinkedList<Consulta> consultas = new LinkedList<Consulta>();LinkedList<Medico> medicos = Medicos.getInstance().get();Data data = Data.getData("01/02/2006−00:00");String [] horas = { "08", "09", "10", "11", "12", "13", "14", "15",

"16", "17" };String [] minutos = { "00", "30" };Consultas cs = Consultas.getInstance();Medico[] m = medicos.toArray(new Medico[medicos.size()]);Medico [][] medicosEspecialidade = new Medico[2][];Medico[] aux = new Medico[m.length / 2];int x = 0;for (int i = 0; i < aux.length; i++) {

aux[i ] = m[x++];}medicosEspecialidade[0] = aux;aux = new Medico[m.length − aux.length];for (int i = 0; i < aux.length; i++) {

aux[i ] = m[x++];}medicosEspecialidade[1] = aux;for (int i = 0; i < medicosEspecialidade.length; i++) {

System.out.println( i + ": " + medicosEspecialidade[i].length);}Consulta c;

Page 491: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

490

for (int i = 0; i < 93; i++) {if (data.isDiaUtil ()) {

for (int j = horas.length − 1; j >= 0; j−−) {if (horas[ j ]. compareTo("13") < 0) {

m = medicosEspecialidade[0];} else {

m = medicosEspecialidade[1];}for (int k = minutos.length − 1; k >= 0; k−−) {

for (int index = m.length − 1; index >= 0; index−−) {c = new Consulta();c.setData(data.dataInvertida());c.setHora(horas[j ] + ":" + minutos[k]);c.setMedico(m[index]);consultas .addFirst(c);

}}

}}data.add(Data.DIA, −1);

}System.out.println(consultas . size ());cs . set(consultas );

}

/∗∗∗ @param args∗/public static void main(String[] args) {

povoar();}

}

Page 492: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

491

5.3.3 SistemaHospital/JavaSource/bd/hibernate/tabelas/Medicos.java

package bd.hibernate.tabelas;

import java.util. Iterator ;import java.util.LinkedList;import java.util.List ;

import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;

import uteis.Constantes;import uteis.Constantes.Especialidade;import bd.hibernate.Banco;import beans.Medico;

public class Medicos {

private static Medicos medicos;

Banco banco;

private Medicos() {banco = Banco.getInstance();

}

public static Medicos getInstance() {if (medicos == null)

medicos = new Medicos();return medicos;

}

public List<Medico> getMedicosNome( String nome){nome = "%" + nome +"%";Session session = banco.getSession();

Page 493: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

492

Transaction transaction = session.beginTransaction();Query query = session.createQuery("from Medico m where m.nome like :nome")

. setString("nome", nome);List<Medico> m = query.list();

transaction.commit();session . close ();return m;

}

public LinkedList<Medico> getMedicosEspecialidade( int especialidade){LinkedList<Medico> m = new LinkedList<Medico>();Session session = banco.getSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery("from Medico m where m.especialidade = '" + especialidade +"'");Iterator<Medico> medicos = query.list().iterator();while (medicos.hasNext())

m.add(medicos.next());transaction.commit();session . close ();return m;

}

public LinkedList<Medico> get() {LinkedList<Medico> m = new LinkedList<Medico>();Session session = banco.getSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery("from Medico order by crm asc");Iterator<Medico> medicos = query.list().iterator();while (medicos.hasNext())

m.add(medicos.next());transaction.commit();session . close ();return m;

}

Page 494: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

493

public Medico get(long medico) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();Medico m = (Medico) session.get(Medico.class, medico);transaction.commit();session . close ();return m;

}

public void set(Medico medico) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();session .save(medico);transaction.commit();session . close ();

}

private static void povoar(){Medicos ms = Medicos.getInstance();Medico m = new Medico();Especialidade [] e = Constantes.Especialidade.values();String nomeMedicos[] = { "Cleosvaldo de Andrade", "Jorge Tadeu",

"Rodolfo Carlos", "Marcos Antonio", "Carlos Rodolfo","Felizberto de Almeida", "Adalgisa Fagundes","Valdirclei de Souza Neto", "Rafael do Pinto Rego","Anacleto Robertison", "Amarildo da Cunha"," Jusiclei Vasconcelo", "Roberval Tavino", "Janete Cler","Richarlison Silva Santos", "Arnaldo Antunes", "Ederson Lopez","Edilson Carvalho", };

String nome;int c = 232500;int crm;int especialidade ;int a;

Page 495: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

494

int b;for (int i = 0; i < 2; i++) {

a = i ∗ e.length;for (int j = 0; j < e.length; j++) {

especialidade = e[j ]. ordinal ();b = a + j;crm = c + b;nome = nomeMedicos[b];m.setCrm(crm);m.setEspecialidade(especialidade );m.setNome(nome);ms.set(m);

}}

}

public static void main(String[] args) {}

}

Page 496: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

495

5.3.4 SistemaHospital/JavaSource/bd/hibernate/tabelas/Pacientes.java

package bd.hibernate.tabelas;

import java.util.List ;

import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;

import bd.hibernate.Banco;import beans.Paciente;

public class Pacientes {

private static Pacientes pacientes;

Banco banco;

private Pacientes() {banco = Banco.getInstance();

}

public static Pacientes getInstance() {if (pacientes == null)

pacientes = new Pacientes();return pacientes;

}

public List<Paciente> get() {Session session = banco.getSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery("from Paciente");List<Paciente> p = query.list();transaction.commit();session . close ();

Page 497: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

496

return p;}

public Paciente get(long paciente) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();Paciente p = (Paciente) session .get(Paciente.class, paciente );transaction.commit();session . close ();return p;

}

public void set(Paciente paciente) {Session session = banco.getSession();Transaction transaction = session.beginTransaction();session .save(paciente );transaction.commit();session . close ();

}}

Page 498: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

497

5.3.5 SistemaHospital/JavaSource/beans/Consulta.java

/∗∗∗ Consulta.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package beans;

import uteis.Data;

public class Consulta{private String data;private String hora;private long id;private Medico medico;private Paciente paciente;

public Consulta() {}

/∗∗∗ @return Returns the data.∗/public String getData() {

return data;}

/∗∗∗ @param data The data to set.∗/public void setData(String data) {

this.data = data;}

Page 499: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

498

/∗∗∗ @return Returns the hora.∗/public String getHora() {

return hora;}

/∗∗∗ @param hora The hora to set.∗/public void setHora(String hora) {

this.hora = hora;}

/∗∗∗ @return Returns the id.∗/public long getId() {

return id;}

/∗∗∗ @param id The id to set.∗/public void setId(long id) {

this. id = id;}

/∗∗∗ @return Returns the medico.∗/public Medico getMedico() {

return medico;}

Page 500: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

499

/∗∗∗ @param medico The medico to set.∗/public void setMedico(Medico medico) {

this.medico = medico;}

/∗∗∗ @return Returns the paciente.∗/public Paciente getPaciente() {

return paciente;}

/∗∗∗ @param paciente The paciente to set.∗/public void setPaciente(Paciente paciente) {

this.paciente = paciente;}

public void inverterData() {this.data = Data.getDataInvertida(data +"−00:00").dataBarras();

}}

Page 501: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

500

5.3.6 SistemaHospital/JavaSource/beans/Endereco.java

package beans;

public class Endereco {private String rua;

private int numero;

private String complemento;

private String bairro;

private String cidade;

private String estado;

/∗∗∗ @return Returns the bairro.∗/public String getBairro() {

return bairro;}

/∗∗∗ @param bairro∗ The bairro to set .∗/public void setBairro(String bairro) {

this.bairro = bairro;}

/∗∗∗ @return Returns the cidade.∗/public String getCidade() {

Page 502: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

501

return cidade;}

/∗∗∗ @param cidade∗ The cidade to set .∗/public void setCidade(String cidade) {

this.cidade = cidade;}

/∗∗∗ @return Returns the estado.∗/public String getEstado() {

return estado;}

/∗∗∗ @param estado∗ The estado to set .∗/public void setEstado(String estado) {

this.estado = estado;}

/∗∗∗ @return Returns the numero.∗/public int getNumero() {

return numero;}

/∗∗∗ @param numero

Page 503: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

502

∗ The numero to set.∗/public void setNumero(int numero) {

this.numero = numero;}

/∗∗∗ @return Returns the rua.∗/public String getRua() {

return rua;}

/∗∗∗ @param rua∗ The rua to set.∗/public void setRua(String rua) {

this.rua = rua;}

/∗∗∗ @return Returns the complemento.∗/public String getComplemento() {

return complemento;}

/∗∗∗ @param complemento∗ The complemento to set.∗/public void setComplemento(String complemento) {

this.complemento = complemento;}

Page 504: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

503

}

Page 505: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

504

5.3.7 SistemaHospital/JavaSource/beans/Medico.java

/∗∗∗ Medico.java∗∗ This �le was auto−generated from WSDL∗ by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.∗/

package beans;

public class Medico implements java.io.Serializable {private long crm;private int especialidade;private java.lang.String nome;

public Medico() {}

/∗∗∗ @return Returns the crm.∗/public long getCrm() {

return crm;}

/∗∗∗ @param crm The crm to set.∗/public void setCrm(long crm) {

this.crm = crm;}

/∗∗∗ @return Returns the especialidade.∗/

Page 506: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

505

public int getEspecialidade() {return especialidade;

}

/∗∗∗ @param especialidade The especialidade to set .∗/public void setEspecialidade(int especialidade) {

this. especialidade = especialidade;}

/∗∗∗ @return Returns the nome.∗/public java.lang.String getNome() {

return nome;}

/∗∗∗ @param nome The nome to set.∗/public void setNome(java.lang.String nome) {

this.nome = nome;}

}

Page 507: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

506

5.3.8 SistemaHospital/JavaSource/beans/Paciente.java

package beans;

import java.util.Calendar;

/∗∗ Created on 19/03/2005∗∗ TODO To change the template for this generated �le go to∗ Window − Preferences − Java − Code Style − Code Templates∗/

/∗∗∗ @author óNs∗∗ TODO To change the template for this generated type comment go to Window −∗ Preferences − Java − Code Style − Code Templates∗/public class Paciente {

private long cartaoSus;

private String nome;

private String sexo;

private Calendar dataNascimento;

private int estadoCivil;

private String pai;

private String mae;

private String conjuge;

Page 508: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

507

private String nacionalidade;

private String naturalidade;

private String nomeEmpresa;

private Endereco endereco;

/∗∗∗ @return Returns the cartaoSus.∗/public long getCartaoSus() {

return cartaoSus;}

/∗∗∗ @param cartaoSus The cartaoSus to set.∗/public void setCartaoSus(long cartaoSus) {

this.cartaoSus = cartaoSus;}

/∗∗∗ @return Returns the conjuge.∗/public String getConjuge() {

return conjuge;}

/∗∗∗ @param conjuge The conjuge to set.∗/public void setConjuge(String conjuge) {

this.conjuge = conjuge;

Page 509: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

508

}

/∗∗∗ @return Returns the dataNascimento.∗/public Calendar getDataNascimento() {

return dataNascimento;}

/∗∗∗ @param dataNascimento The dataNascimento to set.∗/public void setDataNascimento(Calendar dataNascimento) {

this.dataNascimento = dataNascimento;}

/∗∗∗ @return Returns the endereco.∗/public Endereco getEndereco() {

return endereco;}

/∗∗∗ @param endereco The endereco to set.∗/public void setEndereco(Endereco endereco) {

this.endereco = endereco;}

/∗∗∗ @return Returns the estadoCivil.∗/public int getEstadoCivil() {

return estadoCivil;

Page 510: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

509

}

/∗∗∗ @param estadoCivil The estadoCivil to set.∗/public void setEstadoCivil(int estadoCivil) {

this.estadoCivil = estadoCivil;}

/∗∗∗ @return Returns the mae.∗/public String getMae() {

return mae;}

/∗∗∗ @param mae The mae to set.∗/public void setMae(String mae) {

this.mae = mae;}

/∗∗∗ @return Returns the nacionalidade.∗/public String getNacionalidade() {

return nacionalidade;}

/∗∗∗ @param nacionalidade The nacionalidade to set.∗/public void setNacionalidade(String nacionalidade) {

this.nacionalidade = nacionalidade;

Page 511: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

510

}

/∗∗∗ @return Returns the naturalidade.∗/public String getNaturalidade() {

return naturalidade;}

/∗∗∗ @param naturalidade The naturalidade to set.∗/public void setNaturalidade(String naturalidade) {

this.naturalidade = naturalidade;}

/∗∗∗ @return Returns the nome.∗/public String getNome() {

return nome;}

/∗∗∗ @param nome The nome to set.∗/public void setNome(String nome) {

this.nome = nome;}

/∗∗∗ @return Returns the nomeEmpresa.∗/public String getNomeEmpresa() {

return nomeEmpresa;

Page 512: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

511

}

/∗∗∗ @param nomeEmpresa The nomeEmpresa to set.∗/public void setNomeEmpresa(String nomeEmpresa) {

this.nomeEmpresa = nomeEmpresa;}

/∗∗∗ @return Returns the pai.∗/public String getPai() {

return pai;}

/∗∗∗ @param pai The pai to set.∗/public void setPai(String pai) {

this.pai = pai;}

/∗∗∗ @return Returns the sexo.∗/public String getSexo() {

return sexo;}

/∗∗∗ @param sexo The sexo to set.∗/public void setSexo(String sexo) {

this.sexo = sexo;

Page 513: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

512

}

}

Page 514: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

513

5.3.9 SistemaHospital/JavaSource/service/Hospital.java

package service;

import java.util.List ;

import uteis.Constantes;import bd.hibernate.tabelas.Consultas;import bd.hibernate.tabelas.Medicos;import beans.Consulta;import beans.Medico;import beans.Paciente;

public class Hospital implements Constantes{

private Medicos medicos;private Consultas consultas;

public Hospital(){medicos = Medicos.getInstance();consultas = Consultas.getInstance();

}

public Object[] getMedicos(int especialidade){return medicos.getMedicosEspecialidade(especialidade).toArray();

}

public Object[] getMedicos(String nome){return medicos.getMedicosNome(nome).toArray();

}

public Object[] getTodosMedicos(){return medicos.get().toArray();

}

public Medico getMedico(long medico){

Page 515: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

514

return medicos.get(medico);}

public void marcarConsulta(long consulta, Paciente paciente){consultas .marcar(consulta, paciente);

}

public void desmarcarConsulta(long consulta){consultas .desmarcar(consulta);

}

public Object[] getConsultasPaciente(long paciente){return consultas.getConsultasPaciente(paciente).toArray();

}

public Object[] getConsultasMedicoPaciente(long medico ,long paciente){return consultas.get(medico, paciente).toArray();

}

public Object[] getDisponiveisEspecialidade(int especialidade) {return consultas.getDisponiveisEspecialidade(especialidade).toArray();

}

public Object[] getDisponiveisMedico(long medico) {return consultas.getDisponiveisMedico(medico).toArray();

}

public Consulta getConsulta(long consulta) {return consultas.get(consulta);

}}

Page 516: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

515

5.3.10 SistemaHospital/JavaSource/uteis/Constantes.java

package uteis;

public interface Constantes {

public enum Especialidade {

CARDIOLOGISTA, ORTOPEDISTA, GINECOLOGISTA, OFTALMOLOGISTA, UROLOGISTA, GERAL, PISQUIATRA, DERMATOLOGISTA, OTORRINO,};

public enum EstadoCivil{SOLTEIRO, CASADO, DIVORCIADO, JUNTO, VIUVO

}

public enum Escolaridade{NAO_FREQUENTOU, PRIMARIO_INCOMPLETO, PRIMARIO, FUNDAMENTAL_INCOMPLETO, FUNDAMENTAL, MEDIO_INCOMPLETO, MEDIO, SUPERIOR_INCOMPLETO, SUPERIOR, MESTRE, DOUTOR

}}

Page 517: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

516

5.3.11 SistemaHospital/JavaSource/uteis/Data.java

package uteis;

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;

public class Data {

private Date data;

private Calendar calendar;

public static �nal int MES = Calendar.MONTH;

public static �nal int ANO = Calendar.YEAR;

public static �nal int SEMANA = Calendar.DAY_OF_WEEK;

public static �nal int DIA = Calendar.DAY_OF_MONTH;

public static �nal int DOMINGO = Calendar.SUNDAY;

public static �nal int SEGUNDA = Calendar.MONDAY;

public static �nal int TERCA = Calendar.TUESDAY;

public static �nal int QUARTA = Calendar.WEDNESDAY;

public static �nal int QUINTA = Calendar.THURSDAY;

public static �nal int SEXTA = Calendar.FRIDAY;

public static �nal int SABADO = Calendar.SATURDAY;

Page 518: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

517

public static �nal int JANEIRO = Calendar.JANUARY;

public static �nal int FEVEREIRO = Calendar.FEBRUARY;

public static �nal int MARCO = Calendar.MARCH;

public static �nal int ABRIL = Calendar.APRIL;

public static �nal int MAIO = Calendar.MAY;

public static �nal int JUNHO = Calendar.JUNE;

public static �nal int JULHO = Calendar.JULY;

public static �nal int AGOSTO = Calendar.AUGUST;

public static �nal int SETEMBRO = Calendar.SEPTEMBER;

public static �nal int OUTUBRO = Calendar.OCTOBER;

public static �nal int NOVEMBRO = Calendar.NOVEMBER;

public static �nal int DEZEMBRO = Calendar.DECEMBER;

private static �nal String domingo = "Domingo";

private static �nal String segunda = "Segunda";

private static �nal String terca = "çTera";

private static �nal String quarta = "Quarta";

private static �nal String quinta = "Quinta";

Page 519: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

518

private static �nal String sexta = "Sexta";

private static �nal String sabado = "áSbado";

private static �nal String janeiro = "Janeiro";

private static �nal String fevereiro = "Fevereiro";

private static �nal String marco = "çMaro";

private static �nal String abril = "Abril";

private static �nal String maio = "Maio";

private static �nal String junho = "Junho";

private static �nal String julho = "Julho";

private static �nal String agosto = "Agosto";

private static �nal String setembro = "Setembro";

private static �nal String outubro = "Outubro";

private static �nal String novembro = "Novembro";

private static �nal String dezembro = "Dezembro";

private String intString(int inteiro ) {if ( inteiro < 10) {

return "0" + inteiro;} else {

return "" + inteiro;}

}

Page 520: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

519

private String stringMes(int mes) {switch (mes) {

case JANEIRO:return janeiro;

case FEVEREIRO:return fevereiro;

case MARCO:return marco;

case ABRIL:return abril;

case MAIO:return maio;

case JUNHO:return junho;

case JULHO:return julho;

case AGOSTO:return agosto;

case SETEMBRO:return setembro;

case OUTUBRO:return outubro;

case NOVEMBRO:return novembro;

case DEZEMBRO:return dezembro;

default:return "se mata";

}}

private String stringAno(int ano) {return "" + ano;

}

Page 521: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

520

private String stringDiaSemana(int dia) {switch (dia) {

case DOMINGO:return domingo;

case SEGUNDA:return segunda;

case TERCA:return terca;

case QUARTA:return quarta;

case QUINTA:return quinta;

case SEXTA:return sexta;

case SABADO:return sabado;

default:return "larga as drogas";

}}

@Overridepublic String toString() {

return toString(SEMANA) + ", " + toString(DIA) + " de " + toString(MES)+ " de " + toString(ANO) + ".";

}

public String toString(int tipo) {

Page 522: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

521

switch (tipo) {case DIA:

return intString(calendar.get(Calendar.DAY_OF_MONTH));case MES:

return stringMes(calendar.get(Calendar.MONTH));case ANO:

return stringAno(calendar.get(Calendar.YEAR));case SEMANA:

return stringDiaSemana(calendar.get(Calendar.DAY_OF_WEEK));default:

return "se mata";}

}

public Date add(int tipo, int tempo) {calendar.add(tipo, tempo);return calendar.getTime();

}

public Data() {this(new Date(System.currentTimeMillis()));

}

public Data(Date date) {data = date;calendar = Calendar.getInstance();calendar.setTime(this.data);

}

public String dataBarras() {return intString(calendar.get(Calendar.DAY_OF_MONTH)) + "/"

+ intString(calendar.get(Calendar.MONTH) + 1) + "/"+ stringAno(calendar.get(Calendar.YEAR));

}

Page 523: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

522

public String getHora() {return intString(calendar.get(Calendar.HOUR_OF_DAY)) + ":"

+ intString(calendar.get(Calendar.MINUTE));}

public String getHoraSegundos() {return intString(calendar.get(Calendar.HOUR_OF_DAY)) + ":"

+ intString(calendar.get(Calendar.MINUTE)) + ":"+ intString(calendar.get(Calendar.SECOND));

}

public String dataHora() {return dataBarras() + "−" + getHora();

}

public String getDataInvertidaHoraSegundos() {return dataInvertida() + "−" + getHoraSegundos();

}

public String dataInvertida() {return stringAno(calendar.get(Calendar.YEAR)) + "/"

+ intString(calendar.get(Calendar.MONTH) + 1) + "/"+ intString(calendar.get(Calendar.DAY_OF_MONTH));

}

public static Data getData(String string) {try {

return new Data(new SimpleDateFormat("dd/MM/yyyy−hh:mm").parse(string ));

} catch (ParseException e) {return new Data();

}}

public static Data getDataInvertida(String string) {

Page 524: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

523

try {return new Data(new SimpleDateFormat("yyyy/MM/dd−hh:mm")

.parse(string ));} catch (ParseException e) {

return new Data();}

}

public static void main(String[] args) {Data data = getData("24/02/2006−22:30");System.out.println(data);System.out.println(data.dataBarras());System.out.println(data.dataHora());System.out.println(data.getDataInvertidaHoraSegundos());

System.err.println("−−−−−−−−−−−−−−−−−−−−−−");data = getDataInvertida("2006/02/24−22:30");System.out.println(data);System.out.println(data.dataBarras());System.out.println(data.dataHora());System.out.println(data.getDataInvertidaHoraSegundos());

System.err.println("−−−−−−−−−−−−−−−−−−−−−−");data = new Data();System.out.println(data);System.out.println(data.dataBarras());System.out.println(data.dataHora());System.out.println(data.getDataInvertidaHoraSegundos());

}

public boolean isDiaUtil() {int diaSemana = calendar.get(Calendar.DAY_OF_WEEK);switch (diaSemana) {

case DOMINGO:

Page 525: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

524

return false;case SABADO:

return false;default:

return true;}

}}

Page 526: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

525

5.3.12 SistemaHospital/WebContent/META-INF/MANIFEST.MF

Manifest−Version: 1.0Class−Path:

Page 527: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

526

5.3.13 SistemaHospital/WebContent/WEB-INF/HospitalService/service/deploy.wsdd

<?xml version="1.0" encoding="UTF−8"?><!−− Use this �le to deploy some handlers/chains and services−−><!−− Two ways to do this: −−><!−− java org.apache.axis.client.AdminClient deploy.wsdd−−><!−− after the axis server is running −−><!−− or−−><!−− java org.apache.axis.utils.Admin client|server deploy.wsdd −−><!−− from the same directory that the Axis engine runs−−><deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

<!−− Services from HospitalService WSDL service −−>

<service name="Hospital" provider="java:RPC" style="rpc" use="encoded"><parameter name="wsdlTargetNamespace" value="http://service"/><parameter name="wsdlServiceElement" value="HospitalService"/><parameter name="schemaUnquali�ed" value="http://service,http://beans"/><parameter name="wsdlServicePort" value="Hospital"/><parameter name="className" value="service.Hospital"/><parameter name="wsdlPortType" value="Hospital"/><parameter name="typeMappingVersion" value="1.2"/><operation xmlns:operNS="http://service" xmlns:rtns="http://service" xmlns:tns2="http://www.w3.org/2001/XMLSchema" name="getMedicos" qname="operNS:getMedicos" returnQName="getMedicosReturn" returnType="rtns:ArrayOf_xsd_anyType" returnItemType="tns2:anyType" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="especialidade" type="tns:int"/>

</operation><operation xmlns:operNS="http://service" xmlns:rtns="http://service" xmlns:tns2="http://www.w3.org/2001/XMLSchema" name="getMedicos" qname="operNS:getMedicos" returnQName="getMedicosReturn" returnType="rtns:ArrayOf_xsd_anyType" returnItemType="tns2:anyType" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="nome" type="tns:string"/>

</operation><operation xmlns:operNS="http://service" xmlns:rtns="http://service" xmlns:tns2="http://www.w3.org/2001/XMLSchema" name="getTodosMedicos" qname="operNS:getTodosMedicos" returnQName="getTodosMedicosReturn" returnType="rtns:ArrayOf_xsd_anyType" returnItemType="tns2:anyType" soapAction=""></operation><operation xmlns:operNS="http://service" xmlns:rtns="http://beans" name="getMedico" qname="operNS:getMedico" returnQName="getMedicoReturn" returnType="rtns:Medico" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="medico" type="tns:long"/>

</operation><operation xmlns:operNS="http://service" name="marcarConsulta" qname="operNS:marcarConsulta" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="consulta" type="tns:long"/><parameter xmlns:tns="http://beans" qname="paciente" type="tns:Paciente"/>

</operation><operation xmlns:operNS="http://service" name="desmarcarConsulta" qname="operNS:desmarcarConsulta" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="consulta" type="tns:long"/>

</operation>

Page 528: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

527

<operation xmlns:operNS="http://service" xmlns:rtns="http://service" xmlns:tns2="http://www.w3.org/2001/XMLSchema" name="getConsultasPaciente" qname="operNS:getConsultasPaciente" returnQName="getConsultasPacienteReturn" returnType="rtns:ArrayOf_xsd_anyType" returnItemType="tns2:anyType" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="paciente" type="tns:long"/>

</operation><operation xmlns:operNS="http://service" xmlns:rtns="http://service" xmlns:tns2="http://www.w3.org/2001/XMLSchema" name="getConsultasMedicoPaciente" qname="operNS:getConsultasMedicoPaciente" returnQName="getConsultasMedicoPacienteReturn" returnType="rtns:ArrayOf_xsd_anyType" returnItemType="tns2:anyType" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="medico" type="tns:long"/><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="paciente" type="tns:long"/>

</operation><operation xmlns:operNS="http://service" xmlns:rtns="http://service" xmlns:tns2="http://www.w3.org/2001/XMLSchema" name="getDisponiveisEspecialidade" qname="operNS:getDisponiveisEspecialidade" returnQName="getDisponiveisEspecialidadeReturn" returnType="rtns:ArrayOf_xsd_anyType" returnItemType="tns2:anyType" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="especialidade" type="tns:int"/>

</operation><operation xmlns:operNS="http://service" xmlns:rtns="http://service" xmlns:tns2="http://www.w3.org/2001/XMLSchema" name="getDisponiveisMedico" qname="operNS:getDisponiveisMedico" returnQName="getDisponiveisMedicoReturn" returnType="rtns:ArrayOf_xsd_anyType" returnItemType="tns2:anyType" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="medico" type="tns:long"/>

</operation><operation xmlns:operNS="http://service" xmlns:rtns="http://beans" name="getConsulta" qname="operNS:getConsulta" returnQName="getConsultaReturn" returnType="rtns:Consulta" soapAction=""><parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="consulta" type="tns:long"/>

</operation><parameter name="allowedMethods" value="getDisponiveisMedico marcarConsulta getMedico getMedicos desmarcarConsulta getConsulta getDisponiveisEspecialidade getConsultasMedicoPaciente getConsultasPaciente getTodosMedicos"/>

<typeMapping xmlns:ns="http://beans" qname="ns:Consulta" type="java:beans.Consulta" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><typeMapping xmlns:ns="http://beans" qname="ns:Medico" type="java:beans.Medico" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><arrayMapping xmlns:ns="http://service" xmlns:cmp−ns="http://www.w3.org/2001/XMLSchema" qname="ns:ArrayOf_xsd_anyType" type="java:java.lang.Object[]" innerType="cmp−ns:anyType" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><typeMapping xmlns:ns="http://beans" qname="ns:Endereco" type="java:beans.Endereco" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><typeMapping xmlns:ns="http://beans" qname="ns:Paciente" type="java:beans.Paciente" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

</service></deployment>

Page 529: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

528

5.3.14 SistemaHospital/WebContent/WEB-INF/HospitalService/service/undeploy.wsdd

<!−− Use this �le to undeploy some handlers/chains and services −−><!−− Two ways to do this: −−><!−− java org.apache.axis. client .AdminClient undeploy.wsdd −−><!−− after the axis server is running −−><!−− or −−><!−− java org.apache.axis. utils .Admin client|server undeploy.wsdd −−><!−− from the same directory that the Axis engine runs −−>

<undeploymentxmlns="http://xml.apache.org/axis/wsdd/">

<!−− Services from HospitalService WSDL service −−>

<service name="Hospital"/></undeployment>

Page 530: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

529

5.3.15 SistemaHospital/WebContent/WEB-INF/server-con�g.wsdd

<?xml version="1.0" encoding="UTF−8"?><deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"><globalCon�guration><parameter name="sendMultiRefs" value="true"/><parameter name="disablePrettyXML" value="true"/><parameter name="adminPassword" value="admin"/><parameter name="attachments.Directory" value="/home/workspace/SistemaHospital/.deployables/SistemaHospital/WEB−INF/attachments"/><parameter name="dotNetSoapEncFix" value="true"/><parameter name="enableNamespacePre�xOptimization" value="true"/><parameter name="sendXMLDeclaration" value="true"/><parameter name="sendXsiTypes" value="true"/><parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/><requestFlow><handler type="java:org.apache.axis.handlers.JWSHandler"><parameter name="scope" value="session"/></handler><handler type="java:org.apache.axis.handlers.JWSHandler"><parameter name="scope" value="request"/><parameter name="extension" value=".jwr"/></handler></requestFlow></globalCon�guration><handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/><handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/><handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/><service name="Calculator" provider="java:RPC" style="wrapped" use="literal"><operation name="somar" qname="ns1:somar" returnQName="ns1:somarReturn" returnType="xsd:int" soapAction="" xmlns:ns1="http://gill" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><parameter qname="ns1:numA" type="xsd:int"/><parameter qname="ns1:numB" type="xsd:int"/></operation><operation name="subtrair" qname="ns2:subtrair" returnQName="ns2:subtrairReturn" returnType="xsd:int" soapAction="" xmlns:ns2="http://gill" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><parameter qname="ns2:numA" type="xsd:int"/><parameter qname="ns2:numB" type="xsd:int"/></operation>

Page 531: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

530

<operation name="multiplicar" qname="ns3:multiplicar" returnQName="ns3:multiplicarReturn" returnType="xsd:int" soapAction="" xmlns:ns3="http://gill" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><parameter qname="ns3:numA" type="xsd:int"/><parameter qname="ns3:numB" type="xsd:int"/></operation><operation name="dividir" qname="ns4:dividir" returnQName="ns4:dividirReturn" returnType="xsd:int" soapAction="" xmlns:ns4="http://gill" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><parameter qname="ns4:numA" type="xsd:int"/><parameter qname="ns4:numB" type="xsd:int"/></operation><parameter name="allowedMethods" value="multiplicar subtrair dividir somar"/><parameter name="typeMappingVersion" value="1.2"/><parameter name="wsdlPortType" value="Calculator"/><parameter name="className" value="gill.Calculator"/><parameter name="wsdlServicePort" value="Calculator"/><parameter name="schemaQuali�ed" value="http://gill"/><parameter name="wsdlTargetNamespace" value="http://gill"/><parameter name="wsdlServiceElement" value="CalculatorService"/></service><service name="Calculadora" provider="java:RPC"><operation name="somar" qname="ns5:somar" returnQName="somarReturn" returnType="xsd:int" soapAction="" xmlns:ns5="http://gill" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><parameter name="numA" type="xsd:int"/><parameter name="numB" type="xsd:int"/></operation><operation name="subtrair" qname="ns6:subtrair" returnQName="subtrairReturn" returnType="xsd:int" soapAction="" xmlns:ns6="http://gill" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><parameter name="numA" type="xsd:int"/><parameter name="numB" type="xsd:int"/></operation><operation name="multiplicar" qname="ns7:multiplicar" returnQName="multiplicarReturn" returnType="xsd:int" soapAction="" xmlns:ns7="http://gill" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><parameter name="numA" type="xsd:int"/><parameter name="numB" type="xsd:int"/></operation><operation name="dividir" qname="ns8:dividir" returnQName="dividirReturn" returnType="xsd:int" soapAction="" xmlns:ns8="http://gill" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><parameter name="numA" type="xsd:int"/><parameter name="numB" type="xsd:int"/></operation><parameter name="allowedMethods" value="multiplicar subtrair dividir somar"/>

Page 532: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

531

<parameter name="wsdlPortType" value="Calculadora"/><parameter name="typeMappingVersion" value="1.2"/><parameter name="wsdlServicePort" value="Calculadora"/><parameter name="className" value="gill.Calculadora"/><parameter name="wsdlTargetNamespace" value="http://gill"/><parameter name="wsdlServiceElement" value="CalculadoraService"/></service><service name="AdminService" provider="java:MSG"><parameter name="allowedMethods" value="AdminService"/><parameter name="enableRemoteAdmin" value="true"/><parameter name="className" value="org.apache.axis.utils.Admin"/><namespace>http://xml.apache.org/axis/wsdd/</namespace></service><service name="Version" provider="java:RPC"><parameter name="allowedMethods" value="getVersion"/><parameter name="className" value="org.apache.axis.Version"/></service><service name="Hospital" provider="java:RPC"><operation name="getMedicos" qname="ns9:getMedicos" returnQName="getMedicosReturn" returnType="ns9:ArrayOf_xsd_anyType" soapAction="" xmlns:ns9="http://service"><parameter name="especialidade" type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation><operation name="getMedicos" qname="ns10:getMedicos" returnQName="getMedicosReturn" returnType="ns10:ArrayOf_xsd_anyType" soapAction="" xmlns:ns10="http://service"><parameter name="nome" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation><operation name="getTodosMedicos" qname="ns11:getTodosMedicos" returnQName="getTodosMedicosReturn" returnType="ns11:ArrayOf_xsd_anyType" soapAction="" xmlns:ns11="http://service"/><operation name="getMedico" qname="ns13:getMedico" returnQName="getMedicoReturn" returnType="ns12:Medico" soapAction="" xmlns:ns12="http://beans" xmlns:ns13="http://service"><parameter name="medico" type="xsd:long" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation><operation name="marcarConsulta" qname="ns14:marcarConsulta" soapAction="" xmlns:ns14="http://service"><parameter name="consulta" type="xsd:long" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/><parameter name="paciente" type="ns15:Paciente" xmlns:ns15="http://beans"/></operation><operation name="desmarcarConsulta" qname="ns16:desmarcarConsulta" soapAction="" xmlns:ns16="http://service"><parameter name="consulta" type="xsd:long" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation>

Page 533: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

532

<operation name="getConsultasPaciente" qname="ns17:getConsultasPaciente" returnQName="getConsultasPacienteReturn" returnType="ns17:ArrayOf_xsd_anyType" soapAction="" xmlns:ns17="http://service"><parameter name="paciente" type="xsd:long" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation><operation name="getConsultasMedicoPaciente" qname="ns18:getConsultasMedicoPaciente" returnQName="getConsultasMedicoPacienteReturn" returnType="ns18:ArrayOf_xsd_anyType" soapAction="" xmlns:ns18="http://service"><parameter name="medico" type="xsd:long" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/><parameter name="paciente" type="xsd:long" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation><operation name="getDisponiveisEspecialidade" qname="ns19:getDisponiveisEspecialidade" returnQName="getDisponiveisEspecialidadeReturn" returnType="ns19:ArrayOf_xsd_anyType" soapAction="" xmlns:ns19="http://service"><parameter name="especialidade" type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation><operation name="getDisponiveisMedico" qname="ns20:getDisponiveisMedico" returnQName="getDisponiveisMedicoReturn" returnType="ns20:ArrayOf_xsd_anyType" soapAction="" xmlns:ns20="http://service"><parameter name="medico" type="xsd:long" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation><operation name="getConsulta" qname="ns22:getConsulta" returnQName="getConsultaReturn" returnType="ns21:Consulta" soapAction="" xmlns:ns21="http://beans" xmlns:ns22="http://service"><parameter name="consulta" type="xsd:long" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></operation><parameter name="allowedMethods" value="getDisponiveisMedico marcarConsulta getMedico getMedicos desmarcarConsulta getConsulta getDisponiveisEspecialidade getConsultasMedicoPaciente getConsultasPaciente getTodosMedicos"/><parameter name="typeMappingVersion" value="1.2"/><parameter name="wsdlPortType" value="Hospital"/><parameter name="className" value="service.Hospital"/><parameter name="wsdlServicePort" value="Hospital"/><parameter name="wsdlTargetNamespace" value="http://service"/><parameter name="wsdlServiceElement" value="HospitalService"/><parameter name="schemaUnquali�ed" value="http://service,http://beans"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns23:Consulta" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:beans.Consulta" xmlns:ns23="http://beans"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns24:Medico" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:beans.Medico" xmlns:ns24="http://beans"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns25:Endereco" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:beans.Endereco" xmlns:ns25="http://beans"/><typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns26:Paciente" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:beans.Paciente" xmlns:ns26="http://beans"/><arrayMapping innerType="xsd:anyType" languageSpeci�cType="java:java.lang.Object[]" qname="ns27:ArrayOf_xsd_anyType" xmlns:ns27="http://service" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></service><transport name="http"><requestFlow><handler type="URLMapper"/><handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/></requestFlow>

Page 534: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

533

<parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/><parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/><parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/><parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/><parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/><parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/></transport><transport name="local"><responseFlow><handler type="LocalResponder"/></responseFlow></transport></deployment>

Page 535: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

534

5.3.16 SistemaHospital/WebContent/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF−8"?><web−app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema−instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web−app_2_4.xsd">

<display−name>SistemaHospital</display−name><servlet>

<display−name>Apache−Axis Servlet</display−name><servlet−name>AxisServlet</servlet−name><servlet−class>org.apache.axis.transport.http.AxisServlet</servlet−class>

</servlet><servlet>

<display−name>Axis Admin Servlet</display−name><servlet−name>AdminServlet</servlet−name><servlet−class>org.apache.axis.transport.http.AdminServlet</servlet−class><load−on−startup>100</load−on−startup>

</servlet><servlet−mapping>

<servlet−name>AxisServlet</servlet−name><url−pattern>/servlet/AxisServlet</url−pattern>

</servlet−mapping><servlet−mapping>

<servlet−name>AxisServlet</servlet−name><url−pattern>∗.jws</url−pattern>

</servlet−mapping><servlet−mapping>

<servlet−name>AxisServlet</servlet−name><url−pattern>/services/∗</url−pattern>

</servlet−mapping><servlet−mapping>

<servlet−name>AdminServlet</servlet−name><url−pattern>/servlet/AdminServlet</url−pattern>

Page 536: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

535

</servlet−mapping><welcome−�le−list>

<welcome−�le>index.html</welcome−�le><welcome−�le>index.htm</welcome−�le><welcome−�le>index.jsp</welcome−�le><welcome−�le>default.html</welcome−�le><welcome−�le>default.htm</welcome−�le><welcome−�le>default.jsp</welcome−�le>

</welcome−�le−list></web−app>

Page 537: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

536

5.3.17 SistemaHospital/WebContent/wsdl/Hospital.wsdl

<?xml version="1.0" encoding="UTF−8"?><wsdl:de�nitions targetNamespace="http://service" xmlns:apachesoap="http://xml.apache.org/xml−soap" xmlns:impl="http://service" xmlns:intf="http://service" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://beans" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!−−WSDL created by Apache Axis version: 1.2.1Built on Jun 14, 2005 (09:15:57 EDT)−−><wsdl:types><schema targetNamespace="http://service" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://beans"/><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType name="ArrayOf_xsd_anyType"><complexContent><restriction base="soapenc:Array"><attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]"/></restriction></complexContent></complexType></schema><schema targetNamespace="http://beans" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://service"/><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType name="Medico"><sequence><element name="crm" type="xsd:long"/><element name="especialidade" type="xsd:int"/><element name="nome" nillable="true" type="xsd:string"/></sequence></complexType><complexType name="Endereco"><sequence><element name="bairro" nillable="true" type="xsd:string"/><element name="cidade" nillable="true" type="xsd:string"/><element name="complemento" nillable="true" type="xsd:string"/><element name="estado" nillable="true" type="xsd:string"/><element name="numero" type="xsd:int"/><element name="rua" nillable="true" type="xsd:string"/>

Page 538: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

537

</sequence></complexType><complexType name="Paciente"><sequence><element name="cartaoSus" type="xsd:long"/><element name="conjuge" nillable="true" type="xsd:string"/><element name="dataNascimento" nillable="true" type="xsd:dateTime"/><element name="endereco" nillable="true" type="tns1:Endereco"/><element name="estadoCivil" type="xsd:int"/><element name="mae" nillable="true" type="xsd:string"/><element name="nacionalidade" nillable="true" type="xsd:string"/><element name="naturalidade" nillable="true" type="xsd:string"/><element name="nome" nillable="true" type="xsd:string"/><element name="nomeEmpresa" nillable="true" type="xsd:string"/><element name="pai" nillable="true" type="xsd:string"/><element name="sexo" nillable="true" type="xsd:string"/></sequence></complexType><complexType name="Consulta"><sequence><element name="data" nillable="true" type="xsd:string"/><element name="hora" nillable="true" type="xsd:string"/><element name="id" type="xsd:long"/><element name="medico" nillable="true" type="tns1:Medico"/><element name="paciente" nillable="true" type="tns1:Paciente"/></sequence></complexType></schema></wsdl:types>

<wsdl:message name="getDisponiveisMedicoResponse">

<wsdl:part name="getDisponiveisMedicoReturn" type="impl:ArrayOf_xsd_anyType"/>

</wsdl:message>

Page 539: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

538

<wsdl:message name="getConsultasPacienteRequest">

<wsdl:part name="paciente" type="xsd:long"/>

</wsdl:message>

<wsdl:message name="getTodosMedicosRequest">

</wsdl:message>

<wsdl:message name="marcarConsultaResponse">

</wsdl:message>

<wsdl:message name="getMedicosResponse1">

<wsdl:part name="getMedicosReturn" type="impl:ArrayOf_xsd_anyType"/>

</wsdl:message>

<wsdl:message name="getMedicosRequest1">

<wsdl:part name="nome" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getMedicoRequest">

<wsdl:part name="medico" type="xsd:long"/>

</wsdl:message>

<wsdl:message name="getMedicoResponse">

Page 540: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

539

<wsdl:part name="getMedicoReturn" type="tns1:Medico"/>

</wsdl:message>

<wsdl:message name="getMedicosRequest">

<wsdl:part name="especialidade" type="xsd:int"/>

</wsdl:message>

<wsdl:message name="getConsultaRequest">

<wsdl:part name="consulta" type="xsd:long"/>

</wsdl:message>

<wsdl:message name="getConsultaResponse">

<wsdl:part name="getConsultaReturn" type="tns1:Consulta"/>

</wsdl:message>

<wsdl:message name="getMedicosResponse">

<wsdl:part name="getMedicosReturn" type="impl:ArrayOf_xsd_anyType"/>

</wsdl:message>

<wsdl:message name="getConsultasMedicoPacienteRequest">

<wsdl:part name="medico" type="xsd:long"/>

<wsdl:part name="paciente" type="xsd:long"/>

</wsdl:message>

Page 541: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

540

<wsdl:message name="getDisponiveisMedicoRequest">

<wsdl:part name="medico" type="xsd:long"/>

</wsdl:message>

<wsdl:message name="desmarcarConsultaRequest">

<wsdl:part name="consulta" type="xsd:long"/>

</wsdl:message>

<wsdl:message name="marcarConsultaRequest">

<wsdl:part name="consulta" type="xsd:long"/>

<wsdl:part name="paciente" type="tns1:Paciente"/>

</wsdl:message>

<wsdl:message name="getTodosMedicosResponse">

<wsdl:part name="getTodosMedicosReturn" type="impl:ArrayOf_xsd_anyType"/>

</wsdl:message>

<wsdl:message name="getDisponiveisEspecialidadeResponse">

<wsdl:part name="getDisponiveisEspecialidadeReturn" type="impl:ArrayOf_xsd_anyType"/>

</wsdl:message>

<wsdl:message name="getDisponiveisEspecialidadeRequest">

Page 542: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

541

<wsdl:part name="especialidade" type="xsd:int"/>

</wsdl:message>

<wsdl:message name="getConsultasMedicoPacienteResponse">

<wsdl:part name="getConsultasMedicoPacienteReturn" type="impl:ArrayOf_xsd_anyType"/>

</wsdl:message>

<wsdl:message name="desmarcarConsultaResponse">

</wsdl:message>

<wsdl:message name="getConsultasPacienteResponse">

<wsdl:part name="getConsultasPacienteReturn" type="impl:ArrayOf_xsd_anyType"/>

</wsdl:message>

<wsdl:portType name="Hospital">

<wsdl:operation name="getMedicos" parameterOrder="especialidade">

<wsdl:input message="impl:getMedicosRequest" name="getMedicosRequest"/>

<wsdl:output message="impl:getMedicosResponse" name="getMedicosResponse"/>

</wsdl:operation>

<wsdl:operation name="getMedicos" parameterOrder="nome">

<wsdl:input message="impl:getMedicosRequest1" name="getMedicosRequest1"/>

<wsdl:output message="impl:getMedicosResponse1" name="getMedicosResponse1"/>

Page 543: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

542

</wsdl:operation>

<wsdl:operation name="getTodosMedicos">

<wsdl:input message="impl:getTodosMedicosRequest" name="getTodosMedicosRequest"/>

<wsdl:output message="impl:getTodosMedicosResponse" name="getTodosMedicosResponse"/>

</wsdl:operation>

<wsdl:operation name="getMedico" parameterOrder="medico">

<wsdl:input message="impl:getMedicoRequest" name="getMedicoRequest"/>

<wsdl:output message="impl:getMedicoResponse" name="getMedicoResponse"/>

</wsdl:operation>

<wsdl:operation name="marcarConsulta" parameterOrder="consulta paciente">

<wsdl:input message="impl:marcarConsultaRequest" name="marcarConsultaRequest"/>

<wsdl:output message="impl:marcarConsultaResponse" name="marcarConsultaResponse"/>

</wsdl:operation>

<wsdl:operation name="desmarcarConsulta" parameterOrder="consulta">

<wsdl:input message="impl:desmarcarConsultaRequest" name="desmarcarConsultaRequest"/>

<wsdl:output message="impl:desmarcarConsultaResponse" name="desmarcarConsultaResponse"/>

</wsdl:operation>

Page 544: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

543

<wsdl:operation name="getConsultasPaciente" parameterOrder="paciente">

<wsdl:input message="impl:getConsultasPacienteRequest" name="getConsultasPacienteRequest"/>

<wsdl:output message="impl:getConsultasPacienteResponse" name="getConsultasPacienteResponse"/>

</wsdl:operation>

<wsdl:operation name="getConsultasMedicoPaciente" parameterOrder="medico paciente">

<wsdl:input message="impl:getConsultasMedicoPacienteRequest" name="getConsultasMedicoPacienteRequest"/>

<wsdl:output message="impl:getConsultasMedicoPacienteResponse" name="getConsultasMedicoPacienteResponse"/>

</wsdl:operation>

<wsdl:operation name="getDisponiveisEspecialidade" parameterOrder="especialidade">

<wsdl:input message="impl:getDisponiveisEspecialidadeRequest" name="getDisponiveisEspecialidadeRequest"/>

<wsdl:output message="impl:getDisponiveisEspecialidadeResponse" name="getDisponiveisEspecialidadeResponse"/>

</wsdl:operation>

<wsdl:operation name="getDisponiveisMedico" parameterOrder="medico">

<wsdl:input message="impl:getDisponiveisMedicoRequest" name="getDisponiveisMedicoRequest"/>

<wsdl:output message="impl:getDisponiveisMedicoResponse" name="getDisponiveisMedicoResponse"/>

</wsdl:operation>

<wsdl:operation name="getConsulta" parameterOrder="consulta">

<wsdl:input message="impl:getConsultaRequest" name="getConsultaRequest"/>

Page 545: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

544

<wsdl:output message="impl:getConsultaResponse" name="getConsultaResponse"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="HospitalSoapBinding" type="impl:Hospital">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="getMedicos">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getMedicosRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getMedicosResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getMedicos">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getMedicosRequest1">

Page 546: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

545

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getMedicosResponse1">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getTodosMedicos">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getTodosMedicosRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getTodosMedicosResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getMedico">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getMedicoRequest">

Page 547: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

546

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getMedicoResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="marcarConsulta">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="marcarConsultaRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="marcarConsultaResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="desmarcarConsulta">

<wsdlsoap:operation soapAction=""/>

Page 548: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

547

<wsdl:input name="desmarcarConsultaRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="desmarcarConsultaResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getConsultasPaciente">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getConsultasPacienteRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getConsultasPacienteResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getConsultasMedicoPaciente">

<wsdlsoap:operation soapAction=""/>

Page 549: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

548

<wsdl:input name="getConsultasMedicoPacienteRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getConsultasMedicoPacienteResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getDisponiveisEspecialidade">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getDisponiveisEspecialidadeRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getDisponiveisEspecialidadeResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getDisponiveisMedico">

Page 550: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

549

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getDisponiveisMedicoRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getDisponiveisMedicoResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getConsulta">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getConsultaRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:input>

<wsdl:output name="getConsultaResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

Page 551: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

550

<wsdl:service name="HospitalService">

<wsdl:port binding="impl:HospitalSoapBinding" name="Hospital">

<wsdlsoap:address location="http://localhost:8080/SistemaHospital/services/Hospital"/>

</wsdl:port>

</wsdl:service>

</wsdl:de�nitions>

Page 552: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

551

5.3.18 SistemaHospital/JavaSource/beans/Consulta.hbm.xml

<?xml version="1.0"?><!DOCTYPE hibernate−mapping PUBLIC

"−//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge .net/hibernate−mapping−3.0.dtd">

<hibernate−mapping><class name="beans.Consulta" table="CONSULTAS">

<id name="id"><column name="ID" not−null="true"/><generator class="increment"/>

</id>

<property name="data"><column name="DATA" length="10" not−null="true"/>

</property>

<property name="hora"><column name="HORA" length="5" not−null="true"/>

</property>

<many−to−one name="paciente" class="beans.Paciente" column="PACIENTE" not−null="false" />

<many−to−one name="medico" class="beans.Medico" column="MEDICO" not−null="true"/></class>

</hibernate−mapping>

Page 553: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

552

5.3.19 SistemaHospital/JavaSource/beans/Medico.hbm.xml

<?xml version="1.0"?><!DOCTYPE hibernate−mapping PUBLIC

"−//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge .net/hibernate−mapping−3.0.dtd">

<hibernate−mapping><class name="beans.Medico" table="MEDICOS">

<id name="crm"><column name="CRM" not−null="true"/><generator class="assigned"/>

</id>

<property name="nome"><column name="NOME" length="50" not−null="true"/>

</property>

<property name="especialidade"><column name="ESPECIALIDADE" length="3" not−null="true"/>

</property></class>

</hibernate−mapping>

Page 554: Sistema de agendamento de consultas em hospitais da rede ... · PDF fileGilberto Renaldo Laureano, Victor Otávio Peter Keunecke Sistema de agendamento de consultas em hospitais da

553

5.3.20 SistemaHospital/JavaSource/beans/Paciente.hbm.xml

<?xml version="1.0"?><!DOCTYPE hibernate−mapping PUBLIC

"−//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge .net/hibernate−mapping−3.0.dtd">

<hibernate−mapping><class name="beans.Paciente" table="PACIENTES">

<id name="cartaoSus" ><column name="ID" not−null="true"/><generator class="assigned"/>

</id>

<property name="nome"><column name="NOME" length="50" not−null="true"/>

</property></class>

</hibernate−mapping>