vistas admin
Por último vamos con las vistas creamos en src/main/webapp el archivo admin.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:composition template="plantillaAdmin.xhtml">
</ui:composition>
</h:body>
</html>
Creamos el archvo contenido.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:composition>
<h1>Bienvenido a Survey 10</h1>
</ui:composition>
</h:body>
</html>
Creamos el archivo contenidoAdmin.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:composition>
<h1>Survey 10</h1>
<p>Elige la opción de menú que necesites realizar.</p>
</ui:composition>
</h:body>
</html>
Creamos el archivo encabezado.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:composition>
<div class="card">
<h:form>
<p:growl id="messages"/>
<p:menubar>
<p:submenu label="Administrar" icon="ui-icon-document">
<p:menuitem value="Encuesta" url="http://localhost:8090/surveyencuesta/" />
<p:separator />
</p:submenu>
</p:menubar>
</h:form>
</div>
</ui:composition>
</h:body>
</html>
Creamos el archivo encabezadoAdmin.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jstl/core">
<h:head>
</h:head>
<h:body>
<ui:composition>
<div class="card">
<h:form>
<p:growl id="messages"/>
<p:menubar>
<p:submenu label="Encuesta" icon="ui-icon-document">
<p:menuitem value="Generar Encuesta" outcome="generarEncuesta.xhtml" />
<p:separator />
</p:submenu>
<p:submenu label="Historial" icon="ui-icon-pencil">
<p:menuitem value="Historial Encuestas" outcome="historialEncuesta"/>
</p:submenu>
<p:menuitem value="Salir" action="#{loginView.logout()}" icon="ui-icon-close" />
</p:menubar>
</h:form>
</div>
</ui:composition>
</h:body>
</html>
Creamos el archivo encuesta.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:composition template="plantilla.xhtml">
</ui:composition>
</h:body>
</html>
Creamos el archivo generarEncuesta.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:composition template="plantillaAdmin.xhtml">
<ui:define name="contentAdmin" >
<h:form id="form">
<p:panel header="Generar Encuesta" footer="Tutosoftware" style="color:white" >
<h:panelGrid columns="3" cellpadding="5">
<h:outputLabel value="Nombre de la encuesta:" for="nombreEncuesta" style="color:white" />
<p:inputText id="nombreEncuesta" value="#{generarEncuestaView.nombreEncuesta}"
size="100" required="true" requiredMessage="Nombre de la encuesta requerida" >
</p:inputText>
<p:message for="nombreEncuesta" ></p:message>
<h:outputLabel value="Pregunta1 si/no:" for="pregunta1SiNo" style="color:white" />
<p:inputText id="pregunta1SiNo" value="#{generarEncuestaView.pregunta1SiNo}"
size="100" required="true" requiredMessage="Pregunta requerida" >
</p:inputText>
<p:message for="pregunta1SiNo"></p:message>
<h:outputLabel value="Pregunta2 si/no:" for="pregunta2SiNo" style="color:white" />
<p:inputText id="pregunta2SiNo" value="#{generarEncuestaView.pregunta2SiNo}"
size="100" required="true" requiredMessage="Pregunta requerida" >
</p:inputText>
<p:message for="pregunta2SiNo"></p:message>
<h:outputLabel value="Pregunta3 si/no:" for="pregunta3SiNo" style="color:white" />
<p:inputText id="pregunta3SiNo" value="#{generarEncuestaView.pregunta3SiNo}"
size="100" required="true" requiredMessage="Pregunta requerida" >
</p:inputText>
<p:message for="pregunta3SiNo"></p:message>
<h:outputLabel value="Pregunta4 si/no:" for="pregunta4SiNo" style="color:white" />
<p:inputText id="pregunta4SiNo" value="#{generarEncuestaView.pregunta4SiNo}"
size="100" required="true" requiredMessage="Pregunta requerida" >
</p:inputText>
<p:message for="pregunta4SiNo"></p:message>
<h:outputLabel value="Pregunta5 si/no:" for="pregunta5SiNo" style="color:white" />
<p:inputText id="pregunta5SiNo" value="#{generarEncuestaView.pregunta5SiNo}"
size="100" required="true" requiredMessage="Pregunta requerida" >
</p:inputText>
<p:message for="pregunta5SiNo"></p:message>
<h:outputLabel value="Pregunta6 si/no:" for="pregunta6SiNo" style="color:white" />
<p:inputText id="pregunta6SiNo" value="#{generarEncuestaView.pregunta6SiNo}"
size="100" required="true" requiredMessage="Pregunta requerida" >
</p:inputText>
<p:message for="pregunta6SiNo"></p:message>
<h:outputLabel value="Pregunta7 si/no:" for="pregunta7SiNo" style="color:white" />
<p:inputText id="pregunta7SiNo" value="#{generarEncuestaView.pregunta7SiNo}"
size="100" required="true" requiredMessage="Pregunta requerida" >
</p:inputText>
<p:message for="pregunta6SiNo"></p:message>
<h:outputLabel value="Pregunta8 Texto abierto:" for="pregunta8Texto" style="color:white" />
<p:inputText id="pregunta8Texto" value="#{generarEncuestaView.pregunta8Texto}"
size="100" required="true" requiredMessage="Pregunta requerida">
</p:inputText>
<p:message for="pregunta8Texto"></p:message>
<h:outputLabel value="Pregunta9 Calif1-5:" for="pregunta9Calif" style="color:white" />
<p:inputText id="pregunta9Calif" value="#{generarEncuestaView.pregunta9Calif}"
size="100" required="true" requiredMessage="Pregunta requerida">
</p:inputText>
<p:message for="pregunta9Calif"></p:message>
<h:outputLabel value="Pregunta10 Calif1-5:" for="pregunta10Calif" style="color:white" />
<p:inputText id="pregunta10Calif" value="#{generarEncuestaView.pregunta10Calif}"
size="100" required="true" requiredMessage="Pregunta requerida" >
</p:inputText>
<p:message for="pregunta10Calif"></p:message>
<p:commandButton value="Crear Encuesta" action="#{generarEncuestaView.crearEncuesta}" update="form" ></p:commandButton>
</h:panelGrid>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
Creamos el archivo graficoEncuesta.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jstl/core">
<h:head>
</h:head>
<h:body>
<ui:composition template="plantillaAdmin.xhtml">
<ui:define name="contentAdmin" >
<h:form id="form">
<p:panel header="Estadísticas" footer="Tutosoftware" style="color:white" >
<h1>Número de encuestas respondidas es #{estadisticaEncuestaView.estadistica.totalRespuesta}</h1>
<h4>Pregunta1: #{estadisticaEncuestaView.re.pregunta1SiNo}</h4>
<div class="card">
<p:pieChart model="#{estadisticaEncuestaView.pieModel1}" style="width: 100%; height: 400px;"/>
</div>
<h4>Pregunta2: #{estadisticaEncuestaView.re.pregunta2SiNo}</h4>
<div class="card">
<p:pieChart model="#{estadisticaEncuestaView.pieModel2}" style="width: 100%; height: 400px;"/>
</div>
<h4>Pregunta3: #{estadisticaEncuestaView.re.pregunta3SiNo}</h4>
<div class="card">
<p:pieChart model="#{estadisticaEncuestaView.pieModel3}" style="width: 100%; height: 400px;"/>
</div>
<h4>Pregunta4: #{estadisticaEncuestaView.re.pregunta4SiNo}</h4>
<div class="card">
<p:pieChart model="#{estadisticaEncuestaView.pieModel4}" style="width: 100%; height: 400px;"/>
</div>
<h4>Pregunta5: #{estadisticaEncuestaView.re.pregunta5SiNo}</h4>
<div class="card">
<p:pieChart model="#{estadisticaEncuestaView.pieModel5}" style="width: 100%; height: 400px;"/>
</div>
<h4>Pregunta6: #{estadisticaEncuestaView.re.pregunta6SiNo}</h4>
<div class="card">
<p:pieChart model="#{estadisticaEncuestaView.pieModel6}" style="width: 100%; height: 400px;"/>
</div>
<h4>Pregunta7: #{estadisticaEncuestaView.re.pregunta7SiNo}</h4>
<div class="card">
<p:pieChart model="#{estadisticaEncuestaView.pieModel7}" style="width: 100%; height: 400px;"/>
</div>
<div class="card">
<h5>#{estadisticaEncuestaView.re.pregunta9Calif}</h5>
<p:barChart model="#{estadisticaEncuestaView.barModel}" style="width: 100%; height: 500px;"/>
</div>
<div class="card">
<h5>#{estadisticaEncuestaView.re.pregunta10Calif}</h5>
<p:barChart model="#{estadisticaEncuestaView.barModel2}" style="width: 100%; height: 500px;"/>
</div>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
Creamos el archivo historialEncuesta.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jstl/core">
<h:head>
</h:head>
<h:body>
<ui:composition template="plantillaAdmin.xhtml">
<ui:define name="contentAdmin" >
<h:form id="form">
<p:panel header="Historial de Encuestas Generadas" footer="Tutosoftware" style="color:white" >
<div class="card">
<p:dataTable var="listaEncuesta" value="#{historialEncuestaView.listaEncuesta}"
rowIndexVar="index" row="10" paginator="true">
<p:column headerText="# Encuesta">
<f:facet name="encuesta">
<h:outputText value="index" />
</f:facet>
<h:outputText
value="#{index + 1}" />
</p:column>
<p:column headerText="Nombre de la encuesta">
<h:outputText value="#{listaEncuesta.nombreEncuesta}" />
</p:column>
<p:column headerText="Status 0=Desactivada 1=Activa">
<h:outputText value="#{listaEncuesta.activarEncuesta}" />
</p:column>
<p:column headerText="Ver Encuestas">
<p:commandButton value="Mostrar Estadística"
action="#{estadisticaEncuestaView.mostrarEstadisticoEncuesta(listaEncuesta.tablaEncuesta)}" >
</p:commandButton>
</p:column>
<p:column headerText="Preguntas Abiertas">
<p:commandButton value="Mostrar Respuestas"
action="#{estadisticaEncuestaView.mostrarRespuestaAbiertas(listaEncuesta.tablaEncuesta)}" >
</p:commandButton>
</p:column>
</p:dataTable>
</div>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
Creamos el archivo login.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:composition template="plantilla.xhtml" >
<ui:define name="content" >
<h:form>
<p:growl id="messagesLogin"/>
<p:panel header="Ingresar usuario y contraseña" footer="Tutosoftware">
<h:panelGrid columns="2" cellpadding="5">
<h:outputLabel value="Email:" for="email" style="color:white" />
<p:inputText id="email" value="#{loginView.email}" required="true" label="usuario">
</p:inputText>
<h:outputLabel value="Contraseña:" for="password" style="color:white" />
<p:password id="password" value="#{loginView.password}" required="true" label="password">
</p:password>
<f:facet name="footer">
<p:commandButton value="Acceder" action="#{loginView.loginSurvey}" update="messagesLogin" ></p:commandButton>
</f:facet>
</h:panelGrid>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
Creamos el archivo plantilla.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:insert name="header">
<ui:include src="encabezado.xhtml"></ui:include>
</ui:insert>
<ui:insert name="content">
<ui:include src="contenido.xhtml"></ui:include>
</ui:insert>
</h:body>
</html>
Creamos el archivo plantillaAdmin.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<ui:insert name="headerAdmin">
<ui:include src="encabezadoAdmin.xhtml"></ui:include>
</ui:insert>
<ui:insert name="contentAdmin">
<ui:include src="contenidoAdmin.xhtml"></ui:include>
</ui:insert>
</h:body>
</html>
Creamos la última vista del modulo admin respuestaEncuesta.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jstl/core">
<h:head>
</h:head>
<h:body>
<ui:composition template="plantillaAdmin.xhtml">
<ui:define name="contentAdmin" >
<h:form id="form">
<p:panel header="Respuestas Abiertas" footer="Tutosoftware" style="color:white" >
<h1>Respuestas a la pregunta8: #{estadisticaEncuestaView.re.pregunta8Texto} </h1>
<div class="card">
<p:dataTable var="respuesta" value="#{estadisticaEncuestaView.listaRespuestas}"
rowIndexVar="index" row="10" paginator="true">
<p:column headerText="# Respuesta">
<f:facet name="respuesta">
<h:outputText value="index" />
</f:facet>
<h:outputText
value="#{index + 1}" />
</p:column>
<p:column headerText="Respuesta">
<h:outputText value="#{respuesta}" />
</p:column>
</p:dataTable>
</div>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>