Logo Studenta

MANUAL DEL PROGRAMADOR

¡Este material tiene más páginas!

Vista previa del material en texto

1 
 
 
 
 
MANUAL DEL 
PROGRAMADOR 
 
 
 
 
 
2 
 
Tabla de contenido 
 
INTRODUCCIÓN .................................................................................................................. 4 
1. PROGRAMACIÓN .................................................................................................... 5 
2. LIBRERÍAS ............................................................................................................... 6 
 3. WEB PAGES ............................................................................................................ 7 
 3.1 crupclub ............................................................................................................... 7 
 3.2 Club……………………………………………………………………………………......9 
 3.3 Deportista………………………………………………………………………………..10 
 3.4 Eventos…………………………………………………………………………………..12 
 3.5 Index……………………………………………………………………………………...13 
 3.6 Persona ………………………………………………………………………………….13 
 3.7 Principal …………………………………………………………………………………16 
3.8 Solicitud delegado …………………………………………………………………….16 
 3.9 Solicitud organizador ....................................................................................... 19 
 4. PAQUETE BEAN…………………………………………………………………………….22 
 4.1 Archivos bean.java…………………………………………………………………….23 
 4.2 Ciudad bean.java……………………………………………………………………….24 
 4.3 club Bean.java…………………………………………………………………………..25 
 4.4 Defensabean…………………………………………………………………………….26 
 4.5 departamentobean……………………………………………………………………..27 
 4.6 Deportista bean.java…………………………………………………………………..27 
 4.7Evento bean.java………………………………………………………………………..29 
 4.8 inscripción bean.java………………………………………………………………….30 
 4.9 juez bean.java…………………………………………………………………………...31 
 4.10 persona bean.java…………………………………………………………………….32 
 4.11 pirámides bean.java…………………………………………………………………..33 
 
 
 
 
3 
 
TABLA DE ILUSTRACIONES 
 
Ilustración 1 CRUP CLUB ................................................................................................................9 
Ilustración 2 CLUB ......................................................................................................................... 10 
Ilustración 3 CLASE DEPORTISTA ............................................................................................ 11 
Ilustración 4 CLASE EVENTOS ................................................................................................... 12 
Ilustración 5 CLASE INDEX ......................................................................................................... 13 
Ilustración 6 CLASE PERSONA .................................................................................................. 15 
Ilustración 7 CLASE PRINCIPAL ................................................................................................. 16 
Ilustración 8 CLASE SOLICITUD DELEGADO ......................................................................... 18 
Ilustración 9 CLASE SOLICITUD ORGANIZADOR .................................................................. 21 
Ilustración 10 CLASE ARCHIVO BEAN ..................................................................................... 23 
Ilustración 11 CLASE CIUDAD BEAN ........................................................................................ 24 
Ilustración 12 CLASE CLUB ......................................................................................................... 25 
Ilustración 13 CLASE DEFENSA BEAN ..................................................................................... 26 
Ilustración 14 CLASE DEPARTAMENTO BEAN ...................................................................... 27 
Ilustración 15 CLASE DEPORTISTA BEAN .............................................................................. 28 
Ilustración 16 CLASE EVENTO BEAN ....................................................................................... 29 
Ilustración 17CLASE INSCRIPCION BEAN ............................................................................ 30 
Ilustración 18 CLASE JUEZ BEAN.............................................................................................. 31 
Ilustración 19 CLASE PERSONA BEAN .................................................................................... 32 
Ilustración 20 CLASE PIRAMIDES BEAN .................................................................................. 33 
 
 
 
 
 
 
 
 
 
 
 
4 
 
Introducción 
 
 
El propósito de este manual del programador, es dar a conocer al lector los códigos 
fuentes del programa realizado. Para ello tratamos de la forma más concisa de 
explicar cada uno de los códigos, junto con la programación utilizada en el desarrollo 
del software, esto con el fin de que el usuario pueda modificar a gusto alguno de los 
valores y parámetros de las funciones que se encuentran expuestas en la 
programación de sistema SOC-HKD (sistema de información para la inscripción y 
clasificación de participantes en campeonatos de hapkido). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 
 
1. PROGRAMACIÓN 
 
Este proyecto está dividido en cuatro partes importantes para el funcionamiento del 
sistema de información, tiene cuatro paquetes que funcionan de la siguiente manera: 
 
 Paquete bean: Son los que hacen la conexión entre la vista y la base de 
datos. 
 
 Paquete converter: Ayudar hacer conversiones para mostrar en tablas. 
 
 Paquete dao: Es la conexión de la base de datos. 
 
 Paquete model: Son las clases modelo de la base de datos. 
 
Estos paquetes tienen consigo una serie de clases que le dan el funcionamiento al 
sistema se explicara lo más detallado posible las clases más importantes. 
 
 
 
 
 
6 
 
2. LIBRERIAS 
 
En total fueron 8 librerías las que se utilizaron para el desarrollo de este sistema las 
cuales son: 
 
 Com.mysql.jdbc_5.1.5.jar: esta es la encargada de hacer la conexión de 
base de datos. 
 
 Primefaces- 5.0.jar: Esta librería es la encargada de traer el framework 
Primefaces. 
 
 Commons-fileupload- 1.3.1.jar: Esta es la encargada de guardar los 
archivos grandes. 
 
 Commons –io- 2.5.jar: Esta es la encargada de guardar los archivos 
grandes. 
 
 Omnifaces-1.8.3.jar: Omnifaces es una biblioteca de utilidades para jsf 2, 
que se centra en los servicios públicos que facilitan las tareas cotidianas con 
la API JSF estándar. Omnifaces es una respuesta a los problemas 
recurrentes con frecuencia encontrados durante las edades de desarrollo de 
jsf profesional del Development equipo ya partir de preguntas que se hacen 
sobre el desbordamiento de pila 
 
 Atmosphere-rutime-2.1.5.jar: El Marco atmósfera contiene componentes de 
cliente y servidor para crear aplicaciones web asincrónicos. La mayoría de los 
marcos populares están apoyando ya sea Ambiente o compatible de forma 
nativa por el marco. El Marco Ambiente soporta todos los navegadores y 
servidores . 
 
 Commons-lang 3-3.3.2.jar: Apache commons Lang, es un conjunto de 
clases de utilidad de java para las clases que se encuentran en la jerarquía de 
java.lang, o se consideran tan estándar como para justificar la existencia del 
java.lang. 
 
 Slf4j-api-1.6.1.jar: módulo slf4j, los artefactos javadoc correspondientes se 
pueden descargar desde el repositorio central de Maven como javadoc 
.jararchivos. 
 
https://github.com/Atmosphere/atmosphere/wiki/Atmosphere-PlugIns-and-Extensions
https://github.com/Atmosphere/atmosphere/wiki/Supported-WebServers-and-Browsers
https://github.com/Atmosphere/atmosphere/wiki/Supported-WebServers-and-Browsers
http://repo2.maven.org/maven2/org/slf4j/
7 
 
3. WEB PAGES 
 
Este paquete contiene las vistas o interfaces del sistema de información, este 
paquete maneja 9 clases XHTML lascuales son. 
 
 
3.1 crupclub: En esta clase esta guardada la vista del crup club. 
 
<Body> 
 
 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
 
 <ui:define name="content"> 
 <f:event type="preRenderView" 
listener="#{clubBean.listar('F')}"/> 
 <h:form id ="frm"> 
 <p:commandButton value="Nuevo" 
actionListener="#{clubBean.setAccion('Registrar')}" action="#{clubBean.limpiar()}" 
oncomplete="PF('wdIgDatos').show();" update=":dlgDatos" /> 
 
 <p:dataTable id="data" value="#{clubBean.lstClub}" var="club"> 
 
 <p:column headerText="Nit"> 
 <p:outputLabel value="#{club.nit}"/> 
 </p:column> 
 <p:column headerText="Nombre"> 
 <p:outputLabel value="#{club.nombre}"/> 
 </p:column> 
 <p:column headerText="Dirección"> 
 <p:outputLabel value="#{club.direccion}"/> 
 </p:column> 
 <p:column headerText="Barrio"> 
 <p:outputLabel value="#{club.barrio}"/> 
 </p:column> 
 <p:column headerText="Telefono"> 
 <p:outputLabel value="#{club.telefono}"/> 
 </p:column> 
 <p:column headerText="Modificar"> 
 <h:outputLink> 
 <p:commandLink value="Modificar" 
actionListener="#{clubBean.leerID(club)}" oncomplete="PF('wdIgDatos').show();" 
update=":dlgDatos" /> 
 </h:outputLink> 
 </p:column> 
 <p:column headerText="Eliminar"> 
 <p:commandLink value="Eliminar" 
actionListener="#{clubBean.eliminar(club)}" update="data"/> 
 </p:column> 
8 
 
 
 </p:dataTable> 
 </h:form> 
 
 <p:dialog header="Datos" widgetVar="wdIgDatos" id="dlgDatos"> 
 <h:form> 
 <p:messages id="msgs" /> 
 <h:panelGrid columns="3" cellpadding="5"> 
 <p:outputLabel for="Nit" value="Nit:" /> 
 <p:inputText id="Nit" value="#{clubBean.club.nit}" maxlength="15" 
required="true" > 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgNit" event="keyup" /> 
 </p:inputText> 
 <p:message for="Nit" id="msgNit" display="icon" /> 
 
 <p:outputLabel for="Nombre" value="Nombre:" /> 
 <p:inputText id="Nombre" value="#{clubBean.club.nombre}" 
required="true"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgNombre" event="keyup" /> 
 </p:inputText> 
 <p:message for="Nombre" id="msgNombre" display="icon" /> 
 
 <p:outputLabel for="Direccion" value="Dirección:" /> 
 <p:inputText id="Direccion" value="#{clubBean.club.direccion}" 
required="true"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgDireccion" event="keyup" /> 
 </p:inputText> 
 <p:message for="Direccion" id="msgDireccion" display="icon" /> 
 
 <p:outputLabel for="Barrio" value="Barrio:" /> 
 <p:inputText id="Barrio" value="#{clubBean.club.barrio}" 
required="true"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgBarrio" event="keyup" /> 
 </p:inputText> 
 <p:message for="Barrio" id="msgBarrio" display="icon" /> 
 
 <p:outputLabel for="telefono" value="Telefono:" /> 
 <p:inputText id="telefono" value="#{clubBean.club.telefono}" 
required="true" maxlength="10"> 
 <f:validateLength minimum="7" /> 
 <p:ajax update="msgtelefono" event="keyup" /> 
 </p:inputText> 
 <p:message for="telefono" id="msgtelefono" display="icon" /> 
 
 </h:panelGrid> 
 <p:commandButton value="#{clubBean.accion}" 
actionListener="#{clubBean.operar()}" oncomplete="PF('wdIgDatos').hide();" 
9 
 
update=":frm:data"/> 
 <p:commandButton value="Cancelar" immediate="true" 
actionListener="#{clubBean.limpiar()}" oncomplete="PF('wdIgDatos').hide();"/> 
 </h:form> 
 </p:dialog> 
 
 </ui:define> 
 
 </ui:composition> 
 
 </body> 
 
Ilustración 1 CRUP CLUB 
 
 
3.2 Club: En esta clase esta guardada la vista del club donde se manejara la las 
inserciones de datos de los clubes. 
 
<body> 
 
 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
 
 <ui:define name="content"> 
 <f:event type="preRenderView" listener="#{clubBean.listar('F')}"/> 
 
 <h2 align="center">Clubes Inscritos</h2> 
 <p:accordionPanel value="#{clubBean.lstClub}" var="club"> 
 <p:tab title="Club - #{club.nombre}"> 
 <p:panelGrid columns="2" > 
 <f:facet name="header"> 
 <h:outputLabel value="Imagen del Club..." /> 
 </f:facet> 
 <p:outputLabel value="Nit: "/> 
 <p:outputLabel value="#{club.nit}"/> 
 
 <p:outputLabel value="Nombre: "/> 
 <p:outputLabel value="#{club.nombre}"/> 
 
 <p:outputLabel value="Dirección: "/> 
 <p:outputLabel value="#{club.direccion}"/> 
 
 <p:outputLabel value="Barrio: "/> 
 <p:outputLabel value="#{club.barrio}"/> 
 
 <p:outputLabel value="Telefono: "/> 
 <p:outputLabel value="#{club.telefono}"/> 
 
 </p:panelGrid> 
10 
 
 </p:tab> 
 </p:accordionPanel> 
 </ui:define> 
 
 </ui:composition> 
 
 </body> 
 
Ilustración 2 CLUB 
3.3 Deportista: En esta clase esta guardada la vista del deportista donde se 
manejara toda la información como inserción, actualización y eliminación de 
deportistas. 
 
<body> 
 
 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
 
 <ui:define name="content"> 
 <f:event type="preRenderView" listener="#{clubBean.listar('F')}"/> 
 <f:event type="preRenderView" listener="#{deportistaBean.listar('F')}"/> 
 
 <h2 align="center">Filtro de Deportistas Inscritos</h2> 
 
 <h:form id="datos"> 
 <p:dataTable id="data" value="#{deportistaBean.lstDeportista}" var="deportista" 
 emptyMessage="No se encontro ningun registro !!" widgetVar="depoTable" 
 filteredValue="#{deportistaBean.filterDeportista}"> 
 
 <p:column headerText="Nombre" filterBy="#{deportista.nombre}" 
filterMatchMode="contains"> 
 <p:outputLabel value="#{deportista.nombre}"/> 
 </p:column> 
 
 <p:column headerText="Apellido" filterBy="#{deportista.apellido1}" 
filterMatchMode="contains"> 
 <p:outputLabel value="#{deportista.apellido1}"/> 
 </p:column> 
 <p:column headerText="S. Apellido" filterBy="#{deportista.apellido2}" 
filterMatchMode="contains"> 
 <p:outputLabel value="#{deportista.apellido2}"/> 
 </p:column> 
 
 <p:column headerText="Genero" filterBy="#{deportista.genero}" 
filterMatchMode="equals"> 
 <f:facet name="filter"> 
 <p:selectOneButton onchange="PF('depoTable').filter()"> 
 <f:selectItem itemLabel="M/F" itemValue="" /> 
 <f:selectItem itemLabel="M" itemValue="G0002" /> 
 <f:selectItem itemLabel="F" itemValue="G0001"/> 
11 
 
 </p:selectOneButton> 
 </f:facet> 
 <p:outputLabel value="#{deportista.genero }"> 
 <f:converter converterId="generoConverter"/> 
 </p:outputLabel> 
 </p:column> 
 <p:column headerText="Fecha Nacimiento"> 
 <p:outputLabel value="#{deportista.f_naci}"/> 
 </p:column> 
 <p:column headerText="Club" filterBy="#{deportista.club.nit}"> 
 <f:facet name="filter"> 
 <p:selectOneMenu id="Club" onchange="PF('depoTable').filter()" 
converter="omnifaces.SelectItemsConverter"> 
 <f:selectItem noSelectionOption="true" itemLabel="Seleccione uno" 
itemValue=""/> 
 <f:selectItems value="#{clubBean.lstClub}" var="club" itemLabel="#{club.nombre}" 
itemValue="#{club.nit}"/> 
 </p:selectOneMenu> 
 </f:facet> 
 <p:outputLabel value="#{deportista.club.nombre}"/> 
 </p:column> 
 <p:column headerText="Grado" filterBy="#{deportista.grado}"> 
 <f:facet name="filter"> 
 <p:selectOneMenu id="Grado" onchange="PF('depoTable').filter()"> 
 <f:selectItem noSelectionOption="true" itemLabel="Seleccione uno" 
itemValue=""/> 
 <f:selectItem itemLabel="Principiante" itemValue="Gr001"/> 
 <f:selectItem itemLabel="Intermedio" itemValue="Gr002"/> 
 <f:selectItem itemLabel="Avanzado" itemValue="Gr003"/> 
 <f:selectItem itemLabel="Inter-Avanzado" itemValue="Gr004"/> 
 </p:selectOneMenu> 
 </f:facet> 
 
 <p:outputLabel value="#{deportista.grado}"> 
 <f:converter converterId="gradoConverter"/> 
 </p:outputLabel> 
 </p:column> 
 
 </p:dataTable> 
 
 </h:form> 
 
 </ui:define> 
 
 </ui:composition> 
 
 </body> 
 
Ilustración 3 CLASE DEPORTISTA 
12 
 
3.4 Eventos: En esta clase se manejara toda la información sobre las vistas de los 
eventos como lo es la inserción, modificación y eliminación. 
 
<body> 
 
 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
 
 <ui:define name="content"> 
 <f:event type="preRenderView" listener="#{eventoBean.listar('F')}"/> 
 <h2 align="center">Eventos registrados</h2> 
 <p:accordionPanel id="dataEvent" value="#{eventoBean.lstEvento}" var="even" > 
 <p:tab title="#{even.nombre}, Organizador: #{even.usuario.nombre} 
#{even.usuario.apellido1}"> 
 <h:panelGrid columns="2" cellpadding="10"> 
 
 <h:outputText value="imagen Campeonato...." /> 
 <h:panelGrid columns="2" style="width:100%" > 
 
 <h3>Fecha:</h3> 
 <h:outputText value="#{even.fecha_Ini}, #{even.fecha_Fin}" /> 
 
 <h:outputLabel><h3>Lugar :</h3></h:outputLabel> 
 <h:outputText value="#{even.lugar}, #{even.ciudad.descripcion}, 
#{even.ciudad.departamento.descripcion}"/> 
 
 <h:outputLabel ><h3>Direccion :</h3></h:outputLabel> 
 <h:outputText value="#{even.direccion}"/> 
 
 <h:outputLabel> 
 <h1>Datos de contacto</h1> 
 </h:outputLabel> 
 <h:column/> 
 
 <h:outputLabel ><h3>Telefono :</h3></h:outputLabel> 
 <h:outputText value="#{even.usuario.telefono}"/> 
 
 <h:outputLabel ><h3>Correo :</h3></h:outputLabel> 
 <h:outputText value="#{even.usuario.correo}"/> 
 </h:panelGrid> 
 </h:panelGrid> 
 
 </p:tab> 
 </p:accordionPanel> 
 
 </ui:define> 
 
 </ui:composition> 
 
 </body> 
Ilustración 4 CLASE EVENTOS 
13 
 
3.5 Index: Esta es la clase donde corre la plantilla índex. 
 
 
1< h:body> 
2 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
3 
4 <ui:define name="content"> 
5 <h:form> 
6 <p: commandLink value="Ir" action="principal? Faces-redirect=true"/> 
7 </h:form> 
8 </ui:define> 
9 
10 </ui:composition> 
11 <!-- <h:form> 
12 <p:commandLink value="Ir" action="principal?faces-redirect=true"/> 
13 </h:form>--> 
14 
15 
16 </h:body> 
 
Ilustración 5 CLASE INDEX 
 
3.6 Persona: En esta clase esta guardada la vista de persona donde se manejara 
toda la información como inserción, actualización y eliminación de este. 
 
<body> 
 
 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
 
 <ui:define name="content"> 
 <f:event type="preRenderView" listener="#{personaBean.listar('F')}"/> 
 <h:form id ="frm"> 
 <p:commandButton value="Nuevo" actionListener="#{personaBean.setAccion('Registrar')}" 
action="#{personaBean.limpiar()}" oncomplete="PF('wdIgDatos').show();" update=":dlgDatos" /> 
 
 <p:dataTable id="data" value="#{personaBean.lstPersona}" var="persona"> 
 
 <p:column headerText="Identificación"> 
 <p:outputLabel value="#{persona.id}"/> 
 </p:column> 
 <p:column headerText="Nombre"> 
 <p:outputLabel value="#{persona.nombre}"/> 
 </p:column> 
 <p:column headerText="Apellido"> 
 <p:outputLabel value="#{persona.apellido1}"/> 
 </p:column> 
 <p:column headerText="S. Apellido"> 
 <p:outputLabel value="#{persona.apellido2}"/> 
 </p:column> 
 <p:column headerText="Genero"> 
 <p:outputLabel value="#{persona.genero}"> 
14 
 
 <f:converter converterId="generoConverter"/> 
 </p:outputLabel> 
 </p:column> 
 <p:column headerText="Fecha Nacimiento"> 
 <p:outputLabel value="#{persona.f_naci}"/> 
 </p:column> 
 <p:column headerText="Telefono"> 
 <p:outputLabel value="#{persona.telefono}"/> 
 </p:column> 
 <p:column headerText="Modificar"> 
 <h:outputLink> 
 <p:commandLink value="Modificar" actionListener="#{personaBean.leerID(persona)}" 
oncomplete="PF('wdIgDatos').show();" update=":dlgDatos" /> 
 </h:outputLink> 
 </p:column> 
 <p:column headerText="Eliminar"> 
 <p:commandLink value="Eliminar" actionListener="#{personaBean.eliminar(persona)}" 
update="data"/> 
 </p:column> 
 
 </p:dataTable> 
 </h:form> 
 
 <p:dialog header="Datos" widgetVar="wdIgDatos" id="dlgDatos"> 
 <h:form> 
 <p:messages id="msgs" /> 
 <p:inputText value="#{personaBean.id}" maxlength="12"/> 
 <p:commandButton value="Verificar" actionListener="#{personaBean.verificar()}" 
update="person"/> 
 <p:commandButton value="Cancelar" immediate="true" 
actionListener="#{personaBean.limpiar()}" update="person"/> 
 
 <h:panelGrid id="person" columns="3" cellpadding="5"> 
 <p:outputLabel for="Id" value="Identificación:" /> 
 <p:inputText id="Id" value="#{personaBean.persona.id}" maxlength="11" required="true" 
disabled="#{personaBean.ex}"> 
 <f:validateLength minimum="2"/> 
 <p:ajax update="msgId" event="keyup" /> 
 </p:inputText> 
 <p:message for="Id" id="msgId" display="icon" /> 
 
 <p:outputLabel for="Nombre" value="Nombre:" /> 
 <p:inputText id="Nombre" value="#{personaBean.persona.nombre}" label="Firstname" 
required="true" disabled="#{personaBean.ex}"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgNombre" event="keyup" /> 
 </p:inputText> 
 <p:message for="Nombre" id="msgNombre" display="icon" /> 
 
 <p:outputLabel for="Apellido1" value="Primer Apellido:" /> 
 <p:inputText id="Apellido1" value="#{personaBean.persona.apellido1}" label="Lastname" 
required="true" disabled="#{personaBean.ex}"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgApellido1" event="keyup" /> 
 </p:inputText> 
 <p:message for="Apellido1" id="msgApellido1" display="icon" /> 
 
15 
 
 <p:outputLabel for="Apellido2" value="Segundo Apellido:" /> 
 <p:inputText id="Apellido2" value="#{personaBean.persona.apellido2}" 
disabled="#{personaBean.ex}"> 
 <f:validateLength /> 
 <p:ajax update="msgApellido2" event="keyup" /> 
 </p:inputText> 
 <p:message for="Apellido2" id="msgApellido2" display="icon" /> 
 
 <p:outputLabel for="Genero" value="Genero:" /> 
 <p:selectOneMenu id="Genero" value="#{personaBean.persona.genero}" 
disabled="#{personaBean.ex}"> 
 <f:selectItem noSelectionOption="true" itemLabel="Seleccione uno" itemValue=""/> 
 <f:selectItem itemLabel="MASCULINO" itemValue="G0002"/> 
 <f:selectItem itemLabel="FEMENINO" itemValue="G0001"/> 
 <p:ajax update="msgGenero" event="keyup" /> 
 </p:selectOneMenu> 
 <p:message for="Genero" id="msgGenero" display="icon" /> 
 
 <p:outputLabel for="fecha" value="Fecha Nacimiento:" /> 
 <p:inputMask id="fecha" value="#{personaBean.persona.f_naci}" required="true" mask="9999-
99-99" disabled="#{personaBean.ex}"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgfecha" event="keyup" /> 
 </p:inputMask> 
 <p:message for="fecha" id="msgfecha" display="icon" /> 
 
 <p:outputLabel for="telefono" value="Telefono:" /> 
 <p:inputText id="telefono" value="#{personaBean.persona.telefono}" required="true" 
maxlength="10" disabled="#{personaBean.ex}"> 
 <f:validateLength minimum="7" /> 
 <p:ajax update="msgtelefono" event="keyup" /> 
 </p:inputText> 
 <p:message for="telefono" id="msgtelefono" display="icon" /> 
 
 </h:panelGrid> 
 <p:commandButton value="#{personaBean.accion}" action Listener="#{personaBean.operar()}" 
oncomplete="PF('wdIgDatos').hide();" 
update=":frm:data"/> 
 <p:commandButton value="Cancelar" immediate="true" actionListener="#{personaBean.limpiar()}" 
oncomplete="PF('wdIgDatos').hide();"/> 
 </h:form> 
 </p:dialog> 
 </ui:define> 
 
 </ui:composition> 
 
 </body> 
 
 
 
Ilustración 6 CLASE PERSONA 
 
 
 
 
16 
 
3.7 Principal: En esta clase esta la plantilla principal del sistema. 
 
<body> 
 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
 
 <ui:define name="content"> 
 <h:panelGrid columns="2" cellspacing="20"> 
 <p:graphicImage value="/resources/images/hapkido.jpg"/> 
 <h:panelGrid columns="1" cellspacing="20"> 
 <p style="font-family: fantasy, serif;font-size: 20px;">Hapkido</p> 
 <p:outputLabel value="El hapkido es un arte marcial coreano moderno adaptado 
hacia la defensa personal militar y civil. El término se puede interpretar como «el camino de la 
unión con la energía universal»."/> 
 <p:outputLabel value="Esta disciplina se puede describir como un arte híbrido, 
físico y energético, donde la fuerza física, por si misma no es un requisito primordial, y donde 
mayor importancia tiene el movimiento del propio cuerpo (cadenas cinéticas), la respiración, la 
flexibilidad, la sensibilidad, y la velocidad de acción al efectuar las diferentes técnicas, aunque su 
entrenamiento es muy vigoroso y exigente. Con el hapkido se busca la formación del individuo 
como persona dispuesta a la defensa de si mismo, de su familia y de su país."/> 
 </h:panelGrid> 
 </h:panelGrid> 
 </ui:define> 
 
 </ui:composition> 
 
 </body> 
Ilustración 7 CLASE PRINCIPAL 
 
3.8 Solicitud delegado: En esta clase esta guardada la vista del delegado donde se 
manejara toda la información como inserción, actualización y eliminación de este. 
 
<body> 
 
 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
 <ui:define name="content"> 
 <f:event type="preRenderView" listener="#{solicitudBean.asignarTipo('D','F')}"/> 
 
 <h2 align="center">Solicitud Usuario...Delegado</h2> 
 <div align="center"> 
 <h:form id="form" > 
 <p:growl id="msgmsg" autoUpdate="true" showDetail="true"/> 
 <p:panelGrid id="panel1" > 
 <f:facet name="header"> 
 <p:row> 
 <p:column colspan="1"><h2 align="center">Datos Delegado</h2></p:column> 
 <p:column colspan="1"><h2 align="center">Datos del Club</h2></p:column> 
 </p:row> 
 <p:row> 
 <p:column colspan="1" > 
 <h:panelGrid columns="3" cellpadding="5"> 
17 
 
 <p:outputLabel for="Id" value="Identificación (T.I. / C.C.):" /> 
 <p:inputText id="Id" value="#{solicitudBean.usuario.id}" maxlength="11" required="true" 
> 
 <p:ajax update="msgId" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="Id" id="msgId" display="icon" /> 
 
 <p:outputLabel for="Nombre" value="Nombre:" /> 
 <p:inputText id="Nombre" value="#{solicitudBean.usuario.nombre}" label="Firstname" 
required="true"> 
 <p:ajax update="msgNombre" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="Nombre" id="msgNombre" display="icon" /> 
 
 <p:outputLabel for="Apellido1" value="Primer Apellido:" /> 
 <p:inputText id="Apellido1" value="#{solicitudBean.usuario.apellido1}" 
label="Lastname" required="true"> 
 <p:ajax update="msgApellido1" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="Apellido1" id="msgApellido1" display="icon" /> 
 
 <p:outputLabel for="Apellido2" value="Segundo Apellido:" /> 
 <p:inputText id="Apellido2" value="#{solicitudBean.usuario.apellido2}" > 
 <p:ajax update="msgApellido2" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText><p:message for="Apellido2" id="msgApellido2" display="icon" /> 
 
 <p:outputLabel for="Genero" value="Genero:" /> 
 <p:selectOneMenu id="Genero" value="#{solicitudBean.usuario.genero}" 
required="true"> 
 <f:selectItem noSelectionOption="true" itemLabel="Seleccione uno" itemValue=""/> 
 <f:selectItem itemLabel="MASCULINO" itemValue="G0002"/> 
 <f:selectItem itemLabel="FEMENINO" itemValue="G0001"/> 
 <p:ajax update="msgGenero" event="keyup" ignoreAutoUpdate="true"/> 
 </p:selectOneMenu> 
 <p:message for="Genero" id="msgGenero" display="icon" /> 
 
 <p:outputLabel for="fecha" value="Fecha Nacimiento:" /> 
 <p:inputMask id="fecha" value="#{solicitudBean.usuario.f_naci}" required="true" 
mask="9999-99-99"> 
 <p:ajax update="msgfecha" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputMask> 
 <p:message for="fecha" id="msgfecha" display="icon" /> 
 
 <p:outputLabel for="telefono" value="Telefono Personal:" /> 
 <p:inputText id="telefono" value="#{solicitudBean.usuario.telefono}" required="true" 
maxlength="10"> 
 <f:validateLength minimum="7" /> 
 <p:ajax update="msgtelefono" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="telefono" id="msgtelefono" display="icon" /> 
 
 <p:outputLabel for="Correo" value="Correo:" /> 
 <p:inputText id="Correo" value="#{solicitudBean.usuario.correo}" 
 required="true" requiredMessage="Por favor, ingrese su correo electronico" 
 validatorMessage="Esto no es un correo electronico"> 
 <f:validateRegex pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-
18 
 
Za-z0-9]+)*(\.[A-Za-z]{2,})$" /> 
 <p:ajax update="msgCorreo" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="Correo" id="msgCorreo" display="icon" /> 
 
 <h:outputLabel for="txtUsuario" value="Usuario: *"/> 
 <p:inputText id = "txtUsuario" value= "#{solicitudBean.usuario.usuario}" required= "true" 
placeholder="Usuario"> 
 <p:ajax update="msgUsu" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="txtUsuario" id="msgUsu" display="icon" /> 
 
 <h:outputLabel value="Nota: " style="color: seagreen"/> 
 <h:outputLabel value="La contraseña puede contener " style="color: seagreen"/> 
 <p:dataTable id="solicitud" value="#{solicitudBean.usuario}" var="usuari" emptyMessage="No 
se encontro ninguna Usuario !!"> 
 <p:column headerText="Usuario"> 
 <p:outputLabel value="#{usuari.usuario}"/> 
 </p:column> 
 <p:column headerText="Tipo"> 
 <p:outputLabel value="#{usuari.tipo}"> 
 <f:converter converterId="tipoConverter"/> 
 </p:outputLabel> 
 </p:column> 
 <p:column headerText="Estado"> 
 <p:outputLabel value="#{usuari.estado}"/> 
 </p:column> 
 </p:dataTable> 
 </h:form> 
 
 </p:dialog> 
 </ui:define> 
 
 </ui:composition> 
 
 </body> 
 
Ilustración 8 CLASE SOLICITUD DELEGADO 
 
 
 
 
 
 
 
 
 
 
19 
 
3.9 Solicitud organizador: En esta clase esta guardada la vista del organizador 
donde se manejara toda la información como inserción, actualización y 
eliminación de organizador. 
 
 
<body> 
 
 <ui:composition template="./WEB-INF/templates/plantilla.xhtml"> 
 
 <ui:define name="content"> 
 <f:event type="preRenderView" listener="#{solicitudBean.asignarTipo('O','F')}"/> 
 
 <h2 align="center">Solicitud Usuario...Organizador</h2> 
 <div align="center"> 
 <p:growl id="msgmsg" autoUpdate="true" showDetail="true"/> 
 
 <h:form id="Organi" > 
 <p:panelGrid id="panel1" > 
 <f:facet name="header"> 
 <p:row> 
 <p:column colspan="1"><h2 align="center">Datos Organizador</h2></p:column> 
 </p:row> 
 <p:row> 
 <p:column colspan="2" style="text-align: center"> 
 <p:inputText value="#{solicitudBean.id}" maxlength="12"/> 
 <p:commandButton value="Verificar" 
actionListener="#{solicitudBean.verificarExistencia()}" update="Organi"/> 
 <p:commandButton value="Cancelar" immediate="true" 
actionListener="#{solicitudBean.limpiar()}" update=":Organi"/> 
 <h:outputText id="rs" value="#{solicitudBean.s}" /> 
 <h:panelGrid id="panel" columns="3" cellpadding="5"> 
 
 <p:outputLabel for="Id" value="Identificación (T.I. / C.C.):" /> 
 <p:inputText id="Id" value="#{solicitudBean.usuario.id}" maxlength="11" required="true" 
disabled="#{solicitudBean.ex}"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgId" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="Id" id="msgId" display="icon" /> 
 
 <p:outputLabel for="Nombre" value="Nombre:" /> 
 <p:inputText id="Nombre" value="#{solicitudBean.usuario.nombre}" label="Firstname" 
required="true" disabled="#{solicitudBean.ex}"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgNombre" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="Nombre" id="msgNombre" display="icon" /> 
 
 <p:outputLabel for="Apellido1" value="Primer Apellido:" /> 
 <p:inputText id="Apellido1" value="#{solicitudBean.usuario.apellido1}" 
label="Lastname" required="true" disabled="#{solicitudBean.ex}"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgApellido1" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="Apellido1" id="msgApellido1" display="icon" /> 
20 
 
 
 <p:outputLabel for="Apellido2" value="Segundo Apellido:" /> 
 <p:inputText id="Apellido2" value="#{solicitudBean.usuario.apellido2}" 
disabled="#{solicitudBean.ex}"> 
 <f:validateLength /> 
 <p:ajax update="msgApellido2" event="keyup" ignoreAutoUpdate="true"/></p:inputText> 
 <p:message for="Apellido2" id="msgApellido2" display="icon" /> 
 
 <p:outputLabel for="Genero" value="Genero:" /> 
 <p:selectOneMenu id="Genero" value="#{solicitudBean.usuario.genero}" 
disabled="#{solicitudBean.ex}"> 
 <f:selectItem noSelectionOption="true" itemLabel="Seleccione uno" itemValue=""/> 
 <f:selectItem itemLabel="MASCULINO" itemValue="G0002"/> 
 <f:selectItem itemLabel="FEMENINO" itemValue="G0001"/> 
 <p:ajax update="msgGenero" event="keyup" ignoreAutoUpdate="true"/> 
 </p:selectOneMenu> 
 <p:message for="Genero" id="msgGenero" display="icon" /> 
 
 <p:outputLabel for="fecha" value="Fecha Nacimiento:" /> 
 <p:inputMask id="fecha" value="#{solicitudBean.usuario.f_naci}" required="true" 
mask="9999-99-99" disabled="#{solicitudBean.ex}"> 
 <f:validateLength minimum="2" /> 
 <p:ajax update="msgfecha" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputMask> 
 <p:message for="fecha" id="msgfecha" display="icon" /> 
 
 <p:outputLabel for="telefono" value="Telefono:" /> 
 <p:inputText id="telefono" value="#{solicitudBean.usuario.telefono}" required="true" 
maxlength="10" disabled="#{solicitudBean.ex}"> 
 <f:validateLength minimum="7" /> 
 <p:ajax update="msgtelefono" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="telefono" id="msgtelefono" display="icon" /> 
 
 </h:panelGrid> 
 <h:panelGrid id="panelu" columns="3" cellpadding="5"> 
 <p:outputLabel for="Correo" value="Correo:" /> 
 <p:inputText id="Correo" value="#{solicitudBean.usuario.correo}" 
 required="true" disabled="#{solicitudBean.ex2}" 
 requiredMessage="Por favor, ingrese su correo electronico" 
 validatorMessage="Esto no es un correo electronico"> 
 
 <f:validateRegex pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-
]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" /> 
 <p:ajax update="msgCorreo" event="keyup" ignoreAutoUpdate="true"/> 
 
 </p:inputText> 
 <p:message for="Correo" id="msgCorreo" display="icon" /> 
 
 <h:outputLabel for="txtUsuario" value="Usuario: *"/> 
 <p:inputText id = "txtUsuario" value= "#{solicitudBean.usuario.usuario}" required= 
"true" placeholder="Usuario" disabled="#{solicitudBean.ex2}"> 
 <p:ajax update="msgUsu" event="keyup" ignoreAutoUpdate="true"/> 
 </p:inputText> 
 <p:message for="txtUsuario" id="msgUsu" display="icon" /> 
 
21 
 
 <h:outputLabel value="Nota: " style="color: seagreen"/> 
 <h:outputLabel value="La contraseña puede contener " style="color: seagreen"/> 
 <h:outputLabel value="Numeros, Letras y signos puntuacion." style="color: 
seagreen"/> 
 
 <h:outputLabel for="pwd1" value="Contraseña: *" /> 
 <p:password id="pwd1" value="#{solicitudBean.usuario.contrasena}" 
 match="pwd2" label="Contraseña" required="true" 
 requiredMessage="Escriba la contraseña!!" 
 placeholder="Contraseña" 
 disabled="#{solicitudBean.ex2}"> 
 <p:ajax update="msgCon" event="keyup" ignoreAutoUpdate="true"/> 
 </p:password> 
 <p:message for="pwd1" id="msgCon" display="icon" /> 
 
 <h:outputLabel for="pwd2" value="Repita la contraseña: " /> 
 <p:password id="pwd2" value="#{solicitudBean.usuario.contrasena}" 
 label="RepiteContraseña" required="true" 
 placeholder="Repita Contraseña" 
 validatorMessage="Las contraseñas no coinciden!!..." 
 disabled="#{solicitudBean.ex2}"> 
 <p:ajax update="msgCon2" event="keyup" ignoreAutoUpdate="true"/> 
 </p:password> 
 <p:message for="pwd2" id="msgCon2" display="icon" /> 
 </h:panelGrid> 
 
 <p:column/> 
 <p:commandButton value="Solicitar" actionListener="#{solicitudBean.registrar()}" 
update="Organi"/> 
 <p:commandButton value="Cancelar" actionListener="#{solicitudBean.limpiar()}" 
 
 </div> 
 
 <p:dataTable id="solicitud" value="#{solicitudBean.usuario}" var="usuari" emptyMessage="No 
se encontro ninguna Usuario !!"> 
 <p:column headerText="Usuario"> 
 <p:outputLabel value="#{usuari.usuario}"/> 
 </p:column> 
 <p:column headerText="Tipo"> 
 <p:outputLabel value="#{usuari.tipo}"> 
 <f:converter converterId="tipoConverter"/> 
 </p:outputLabel> 
 </p:column> 
 <p:column headerText="Estado"> 
 <p:outputLabel value="#{usuari.estado}"/> 
 </p:column> 
 </p:dataTable> 
 
 </ui:composition> 
 
 </body> 
 
 
Ilustración 9 CLASE SOLICITUD ORGANIZADOR 
 
22 
 
4. PAQUETE BEAN. 
 
Bean es un componente hecho en software que se puede reutilizar y que puede ser 
manipulado visualmente por una herramienta de programación en lenguaje Java. 
Para ello, se define un interfaz para el momento del diseño que permite a la 
herramienta de programación o IDE, interrogar al componente y conocer las 
propiedades que define y los tipos de sucesos que puede generar en respuesta a 
diversas acciones. 
Aunque los beans individuales pueden variar ampliamente en funcionalidad desde 
los más simples a los más complejos, todos ellos comparten las siguientes 
características: 
 Introspection: Permite analizar a la herramienta de programación o IDE 
como trabaja el bean 
 Customization: El programador puede alterar la apariencia y la conducta del 
bean. 
 Events: Informa al IDE de los sucesos que puede generar en respuesta a las 
acciones del usuario o del sistema, y también los sucesos que puede 
manejar. 
 Properties: Permite cambiar los valores de las propiedades del bean para 
personalizarlo (customization). 
 Persistence: Se puede guardar el estado de los beans que han sido 
personalizados por el programador, cambiando los valores desus 
propiedades. 
Este paquete consta de unas clases las cuales serán explicadas de la manera más 
resumida. 
 
 
 
 
23 
 
 4.1 Archivos bean.java. 
 
En esta clase guardaremos los archivos o manuales de usuario que se utilizaran 
para que los usuarios tengan facilidad y puedan entender el sistema de informacion. 
 
public void cargar() throws Exception{ 
 ArchivoDAO dao; 
 try{ 
 dao = new ArchivoDAO(); 
 if(file != null){ 
 dao.archivo(file); 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_INFO,"¡¡Archivo Subido!!",null)); 
 }else{ 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_FATAL,"Debe seleccionar un 
archivo!!",null)); 
 } 
 } catch (Exception e) { 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_FATAL,"Error!!",null)); 
 throw e; 
 } 
 } 
 
public void descargar(String s) throws Exception { 
 ArchivoDAO dao; 
 try { 
 dao = new ArchivoDAO(); 
 this.dou = dao.leer(s); 
 FacesMessage msg = new FacesMessage("Descarga exitosa!! ", null); 
 FacesContext.getCurrentInstance().addMessage(null, msg); 
 } catch (Exception e) { 
 throw e ; 
 } 
 } 
 
 
Ilustración 10 CLASE ARCHIVO BEAN 
 
 
 
 
 
 
 
24 
 
4.2 Ciudad bean.java 
 
En esta clase se manejara los registros modificación y eliminación de las ciudades. 
 
 
public void registrar() throws Exception{ 
 CiudadDAO dao; 
 try { 
 dao= new CiudadDAO(); 
 ciudad.setDepartamento(departamento); 
 dao.registrar(ciudad); 
 this.listar("V"); 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_INFO,"La ciudad fue 
ingresada!!",null)); 
 this.setReg(true); 
 this.limpiar(); 
 } catch (Exception e) { 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_FATAL,"Error!!",null)); 
 throw e; 
 } 
 } 
 
public void eliminar(Ciudad ciu) throws Exception{ 
 
 CiudadDAO dao; 
 try{ 
 dao= new CiudadDAO(); 
 dao.eliminar(ciu); 
 this.listar("V"); 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
 
 
 
 
Ilustración 11 CLASE CIUDAD BEAN 
 
 
 
 
 
 
25 
 
 4.3 club Bean.java: 
 
En esta clase se manejara los registros modificación y eliminación de los clubes. 
 
public void registrar () throws Exception{ 
 
 ClubDAO dao; 
 try { 
 dao= new ClubDAO(); 
 dao.registrar(club); 
 this.listar("V"); 
 //this.save(); 
 } catch (Exception e) { 
 throw e; 
 } 
 } 
 public void modificar() throws Exception{ 
 
 ClubDAO dao; 
 try{ 
 dao = new ClubDAO(); 
 dao.modificar(club); 
 this.listar("V"); 
 this.ha = true; 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
public void eliminar(Club clu) throws Exception{ 
 
 ClubDAO dao; 
 try{ 
 dao= new ClubDAO(); 
 dao.eliminar(clu); 
 this.listar("V"); 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
Ilustración 12 CLASE CLUB 
 
 
 
 
 
26 
 
 4.4 Defensabean 
 
En esta clase mostraremos la clasificación y categorías específicas que se 
manejaran en el sistema hay que tener en cuenta que hay más métodos pero en 
esta ocasión describiremos los más importantes de este. 
 
public void clasificar() throws Exception{ 
 Podium; 
 try { 
 for(int i=0; i < this.lstpodiumDef.size(); i++){ 
 if(!"Sin Premiar".equals(lstpodiumDef.get(i).getEstado())){ 
 podium = new Podium(); 
 podium = lstpodiumDef.get(i); 
 this.lstpodiumDefP.add(podium); 
 lstpodiumDef.remove(i); 
 } 
 } 
 } catch (Exception e) { 
 throw e; 
 } 
 } 
 
 private void mostrarCategoria(String codigo) throws Exception { 
 try { 
 DefensaDAO dao = new DefensaDAO(); 
 if(eventoaux.getCodigo() == 0){ 
 defensa = dao.listarCategoria(null, juezLog.getEvento(), codigo); 
 }else{ 
 defensa = dao.listarCategoria(eventoaux, null, codigo); 
 } 
 } catch (Exception e) { 
 throw e; 
 } 
 } 
 
Ilustración 13 CLASE DEFENSA BEAN 
 
 
 
 
 
 
 
 
 
 
27 
 
 4.5 departamentobean 
 
En esta clase mostraremos el método eliminación que es el encargado de limpiar. 
 
 
public void eliminar(Departamento dep) throws Exception{ 
 
 DepartamentoDAO dao; 
 try{ 
 dao= new DepartamentoDAO(); 
 dao.eliminar(dep); 
 this.listar("V"); 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
 
Ilustración 14 CLASE DEPARTAMENTO BEAN 
 
 4.6 Deportista bean.java 
 
En esta clase se manejara los registros modificación y eliminación de los deportistas. 
 
 
private void modificar() throws Exception{ 
 
 DeportistaDAO dao; 
 Fechas calcular; 
 String categoria=""; 
 try{ 
 dao= new DeportistaDAO(); 
 calcular = new Fechas(); 
 categoria = calcular.categoria(deportista.getF_naci()); 
 if( categoria.equals("Junior") 
 || categoria.equals("Juvenil") 
 || categoria.equals("Senior") 
 || categoria.equals("Master") 
 || categoria.equals("Master1") 
 || categoria.equals("Master2") 
 ){ 
 if(deportista.getGrado().equals("Gr002") 
 || deportista.getGrado().equals("Gr003")){ 
 deportista.setGrado("Gr004"); 
 } 
 } 
 dao.modificar(deportista); 
 this.listar("V"); 
28 
 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
 
 public void registrar() throws Exception{ 
 
 DeportistaDAO dao; 
 Fechas calcular; 
 String categoria=""; 
 try { 
 dao= new DeportistaDAO(); 
 calcular = new Fechas(); 
 categoria = calcular.categoria(deportista.getF_naci()); 
 if( categoria.equals("Junior") 
 || categoria.equals("Juvenil") 
 || categoria.equals("Senior") 
 || categoria.equals("Master") 
 || categoria.equals("Master1") 
 || categoria.equals("Master2") 
 ){ 
 if(deportista.getGrado().equals("Gr002") 
 || deportista.getGrado().equals("Gr003")){ 
 deportista.setGrado("Gr004"); 
 } 
 } 
 if(s.equals("Información Registrada Pero no como Deportista")){ 
 dao.registrarDep(deportista); 
 }else if(s.equals("Deportista no registrado")){ 
 dao.registrar(deportista); 
 } 
 this.listar("V"); 
 this.limpiar(); 
 } catch (Exception e) { 
 throw e; 
 } 
 } 
 
public void eliminar(Deportista dep) throws Exception{ 
 
 DeportistaDAO dao; 
 try{ 
 dao= new DeportistaDAO(); 
 dao.eliminar(dep); 
 this.listar("V"); 
 }catch(Exception e){throw e; 
 } 
 } 
 
Ilustración 15 CLASE DEPORTISTA BEAN 
 
 
 
29 
 
 4.7 Evento bean.java 
 
En esta clase se manejara los registros modificación y eliminación de los deportistas. 
 
 
public void registrar () throws Exception{ 
 
 EventoDAO dao; 
 try { 
 dao= new EventoDAO(); 
 System.out.println("usuario: "+usuario.getCodigo()); 
 evento.setUsuario(usuario); 
 dao.registrar(evento); 
 this.listar("V"); 
 this.limpiar(); 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_INFO,"¡¡¡Evento creado!!!",null)); 
 } catch (Exception e) { 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_WARN,"¡¡¡Error!!!",null)); 
 throw e; 
 } 
 } 
 public void modificar() throws Exception{ 
 
 EventoDAO dao; 
 try{ 
 dao= new EventoDAO(); 
 dao.modificar(evento); 
 this.listar("V"); 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
 
Ilustración 16 CLASE EVENTO BEAN 
 
 
 
 
 
 
 
 
30 
 
 4.8 inscripción bean.java 
 
En esta clase podemos ver las operaciones que pueden hacer los jueces para ser 
más resumido en este caso ellos pueden ser inscritos y pueden ser eliminados. 
 
 public boolean inscribirJuez(Evento event,EventoAux eventa, Deportista Depo, JuezDAO dao; 
 boolean accion = false; 
 try { 
 dao = new JuezDAO(); 
 if(eventa == null){ 
 dao.inscribirJuez(event, null, Depo, tipo); 
 this.limpiar(); 
 }else if(event == null){ 
 dao.inscribirJuez(null, eventa, Depo, tipo); 
 this.limpiar(); 
 } 
 } catch (Exception e) { 
 throw e; 
 } 
 return accion; 
 } 
 public void modificar() throws Exception{ 
 
 InscripcionDAO dao; 
 try{ 
 dao = new InscripcionDAO(); 
 dao.modificar(inscripcion); 
 this.listar("V","E"); 
 this.listar("V","N"); 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
public void leerID(Inscripcion inscri) throws Exception{ 
 InscripcionDAO dao; 
 Inscripcion temp; 
 try{ 
 dao= new InscripcionDAO(); 
 if(evento != null){ 
 inscri.setEvento(evento); 
 } 
 temp = dao.leerID(inscri); 
 if (temp != null){ 
 this.inscripcion= temp; 
 }else{ 
 System.out.println("inscripcion leerId SI esta vacio"); 
 } 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
Ilustración 17CLASE INSCRIPCION BEAN 
 
31 
 
 
 4.9 juez bean.java 
 
Aquí podemos ya claramente ver como es la inscripción y la asignación de datos de 
los jueces inscritos. 
 
 
public void asignarJuez(Juez juez, String tipo) throws Exception{ 
 try { 
 this.juez = juez; 
 usu.setTipo(tipo); 
 System.out.println("usutipo: "+ usu.getTipo()); 
 } catch (Exception e) { 
 throw e; 
 } 
 
 } 
 
public void inscribirJueces() throws Exception{ 
 try { 
 if(this.juez != null){ 
 if(juez.getTipo() == "" || juez.getTipo() == null){ 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_WARN,"Seleccione un tipo de Juez 
para poder inscribirlo",null)); 
 }else{ 
 if(juez.getTipo() == "J" && lstJefe.size() == 1){ 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_FATAL,"Recuerde que ya hay 
un Jefe de jueces",null)); 
 }else{ 
 inscripcionBean.inscribirJuez(null, eventoaux, juez.getDepo(), juez.getTipo()); 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_INFO,"Inscripción de juez 
correcta",null)); 
 } 
 } 
 }else{ 
 FacesContext.getCurrentInstance().addMessage(null, 
 new FacesMessage(FacesMessage.SEVERITY_WARN,"Debe Seleccionar al Juez 
para poder inscribirlo",null)); 
 } 
 } catch (Exception e) { 
 throw e; 
 } 
 } 
Ilustración 18 CLASE JUEZ BEAN 
 
32 
 
 
 
 4.10 persona bean.java 
 
En esta clase podemos ver varios métodos pero los más importantes son la 
inscripción, modificación y eliminación de datos. 
 
 
private void registrar () throws Exception{ 
 
 PersonaDAO dao; 
 try { 
 dao= new PersonaDAO(); 
 dao.registrar(persona); 
 this.listar("V"); 
 //this.save(); 
 } catch (Exception e) { 
 throw e; 
 } 
 } 
 
 public void modificar() throws Exception{ 
 
 PersonaDAO dao; 
 try{ 
 dao= new PersonaDAO(); 
 dao.modificar(persona); 
 this.listar("V"); 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
public void eliminar(Persona per) throws Exception{ 
 
 PersonaDAO dao; 
 try{ 
 dao= new PersonaDAO(); 
 dao.eliminar(per); 
 this.listar("V"); 
 }catch(Exception e){ 
 throw e; 
 } 
 } 
Ilustración 19 CLASE PERSONA BEAN 
 
33 
 
 
 
 4.11 pirámides bean.java 
 
Por ultimo esta es una de las clases más importantes que nos ayuda a hacer la 
clasificación de combates a través de árboles con este método se puede hacer una 
pirámide que nos permita saber cómo son las formaciones para los combates. 
 
 
public void clasificar() throws Exception{ 
 Podium podium; 
 try { 
 for(int i=0; i < this.lstpodiumComb.size(); i++){ 
 if(!"Sin Premiar".equals(lstpodiumComb.get(i).getEstado())){ 
 podium = new Podium(); 
 podium = lstpodiumComb.get(i); 
 this.lstpodiumCombP.add(podium); 
 lstpodiumComb.remove(i); 
 i = -1; 
 } 
 } 
 } catch (Exception e) { 
 throw e; 
 } 
 } 
 public void listarDesc(String valor) throws Exception{ 
 try { 
 if(valor.equals("F")){ 
 if (isPostBack()==false){ 
 DescalificacionDAO ldao = new DescalificacionDAO(); 
 lstdescalificacion = ldao.listar("combate"); 
 this.ganos[0] = "Rojo"; 
 this.ganos[1] = "Azul"; 
 } 
 }else{ 
 DescalificacionDAO ldao = new DescalificacionDAO(); 
 lstdescalificacion = ldao.listar("combate"); 
 this.ganos[0] = "Rojo"; 
 this.ganos[1] = "Azul"; 
 } 
 } catch (Exception e) { 
 throw e; 
 } 
 } 
Ilustración 20 CLASE PIRAMIDES BEAN 
 
 
34

Otros materiales