survey10-admin
Ahora vamos con la parte de la vista nos vamos al modulo survey10-admin y el archivo pom.xml nos queda de la siguiente manera:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.tutosoftware.survey10</groupId>
<artifactId>survey10</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>survey10-admin</artifactId>
<packaging>war</packaging>
<build>
<finalName>surveyadmin</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
<webResources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>src/main/webapp/WEB-INF</directory>
<targetPath>WEB-INF</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.tutosoftware.survey10</groupId>
<artifactId>survey10-core</artifactId>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>com.sun.el</groupId>
<artifactId>el-ri</artifactId>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
</dependencies>
</project>
En src/main/webapp/WEB-INF modificamos el archivo faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
<navigation-rule>
<from-view-id>
/login.xhtml
</from-view-id>
<navigation-case>
<from-outcome>
admin
</from-outcome>
<to-view-id>
/admin.xhtml
</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>
/historialEncuesta.xhtml
</from-view-id>
<navigation-case>
<from-outcome>
grafico
</from-outcome>
<to-view-id>
/graficoEncuesta.xhtml
</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>
/historialEncuesta.xhtml
</from-view-id>
<navigation-case>
<from-outcome>
texto
</from-outcome>
<to-view-id>
/respuestaEncuesta.xhtml
</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
En src/main/java creamos el paquete com.tutosoftware.survey10.view y creamos la clase EncuestaView
package com.tutosoftware.survey10.view;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.model.menu.DefaultMenuItem;
import org.primefaces.model.menu.DefaultMenuModel;
import org.primefaces.model.menu.DefaultSubMenu;
import org.primefaces.model.menu.MenuModel;
@ManagedBean
@SessionScoped
public class EncuestaView {
private MenuModel model;
@PostConstruct
public void init() {
model = new DefaultMenuModel();
//First submenu
DefaultSubMenu firstSubmenu = DefaultSubMenu.builder()
.label("Dynamic Submenu")
.build();
DefaultMenuItem item = DefaultMenuItem.builder()
.value("External")
.url("http://www.primefaces.org")
.icon("pi pi-home")
.build();
firstSubmenu.getElements().add(item);
model.getElements().add(firstSubmenu);
//Second submenu
DefaultSubMenu secondSubmenu = DefaultSubMenu.builder()
.label("Dynamic Actions")
.build();
item = DefaultMenuItem.builder()
.value("Save")
.icon("pi pi-save")
.command("#{encuestaView.save}")
.update("messages")
.build();
secondSubmenu.getElements().add(item);
item = DefaultMenuItem.builder()
.value("Delete")
.icon("pi pi-times")
.command("#{encuestaView.delete}")
.ajax(false)
.build();
secondSubmenu.getElements().add(item);
item = DefaultMenuItem.builder()
.value("Redirect")
.icon("pi pi-search")
.command("#{encuestaView.redirect}")
.build();
secondSubmenu.getElements().add(item);
model.getElements().add(secondSubmenu);
}
public MenuModel getModel() {
return model;
}
public void save() {
addMessage("Success", "Data saved");
}
public void update() {
addMessage("Success", "Data updated");
}
public void delete() {
addMessage("Success", "Data deleted");
}
public void addMessage(String summary, String detail) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
Creamos la clase EstadisticaEncuestaView
package com.tutosoftware.survey10.view;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.primefaces.model.charts.bar.*;
import org.primefaces.model.charts.ChartData;
import org.primefaces.model.charts.axes.cartesian.CartesianScales;
import org.primefaces.model.charts.axes.cartesian.linear.CartesianLinearAxes;
import org.primefaces.model.charts.axes.cartesian.linear.CartesianLinearTicks;
import org.primefaces.model.charts.bar.BarChartDataSet;
import org.primefaces.model.charts.bar.BarChartOptions;
import org.primefaces.model.charts.optionconfig.animation.Animation;
import org.primefaces.model.charts.optionconfig.legend.Legend;
import org.primefaces.model.charts.optionconfig.legend.LegendLabel;
import org.primefaces.model.charts.optionconfig.title.Title;
import org.primefaces.model.charts.pie.PieChartDataSet;
import org.primefaces.model.charts.pie.PieChartModel;
import com.tutosoftware.survey10.dao.EncuestaDAO;
import com.tutosoftware.survey10.dao.EstadisticaDAO;
import com.tutosoftware.survey10.entity.Estadistica;
import com.tutosoftware.survey10.entity.RegistrarEncuesta;
@ManagedBean
@SessionScoped
public class EstadisticaEncuestaView {
private RegistrarEncuesta re;
private Estadistica estadistica;
private List<String> listaRespuestas = new ArrayList<>();
private PieChartModel pieModel1;
private PieChartModel pieModel2;
private PieChartModel pieModel3;
private PieChartModel pieModel4;
private PieChartModel pieModel5;
private PieChartModel pieModel6;
private PieChartModel pieModel7;
private BarChartModel barModel;
private BarChartModel barModel2;
public RegistrarEncuesta getRe() {
return re;
}
public void setRe(RegistrarEncuesta re) {
this.re = re;
}
public Estadistica getEstadistica() {
return estadistica;
}
public void setEstadistica(Estadistica estadistica) {
this.estadistica = estadistica;
}
public List<String> getListaRespuestas() {
return listaRespuestas;
}
public void setListaRespuestas(List<String> listaRespuestas) {
this.listaRespuestas = listaRespuestas;
}
public PieChartModel getPieModel1() {
return pieModel1;
}
public void setPieModel1(PieChartModel pieModel1) {
this.pieModel1 = pieModel1;
}
public PieChartModel getPieModel2() {
return pieModel2;
}
public void setPieModel2(PieChartModel pieModel2) {
this.pieModel2 = pieModel2;
}
public PieChartModel getPieModel3() {
return pieModel3;
}
public void setPieModel3(PieChartModel pieModel3) {
this.pieModel3 = pieModel3;
}
public PieChartModel getPieModel4() {
return pieModel4;
}
public void setPieModel4(PieChartModel pieModel4) {
this.pieModel4 = pieModel4;
}
public PieChartModel getPieModel5() {
return pieModel5;
}
public void setPieModel5(PieChartModel pieModel5) {
this.pieModel5 = pieModel5;
}
public PieChartModel getPieModel6() {
return pieModel6;
}
public void setPieModel6(PieChartModel pieModel6) {
this.pieModel6 = pieModel6;
}
public PieChartModel getPieModel7() {
return pieModel7;
}
public void setPieModel7(PieChartModel pieModel7) {
this.pieModel7 = pieModel7;
}
public BarChartModel getBarModel() {
return barModel;
}
public void setBarModel(BarChartModel barModel) {
this.barModel = barModel;
}
public BarChartModel getBarModel2() {
return barModel2;
}
public void setBarModel2(BarChartModel barModel2) {
this.barModel2 = barModel2;
}
public String mostrarEstadisticoEncuesta(String tabla){
EncuestaDAO encuestaDAO = new EncuestaDAO();
EstadisticaDAO estadisticaDAO = new EstadisticaDAO();
re=encuestaDAO.mostrarEncuesta(tabla);
estadistica=estadisticaDAO.mostrarEstadisticaEncuesta(tabla);
createPieModelRespuesta1(estadistica.getRespuesta1Si(),estadistica.getRespuesta1No());
createPieModelRespuesta2(estadistica.getRespuesta2Si(),estadistica.getRespuesta2No());
createPieModelRespuesta3(estadistica.getRespuesta3Si(),estadistica.getRespuesta3No());
createPieModelRespuesta4(estadistica.getRespuesta4Si(),estadistica.getRespuesta4No());
createPieModelRespuesta5(estadistica.getRespuesta5Si(),estadistica.getRespuesta5No());
createPieModelRespuesta6(estadistica.getRespuesta6Si(),estadistica.getRespuesta6No());
createPieModelRespuesta7(estadistica.getRespuesta7Si(),estadistica.getRespuesta7No());
createBarModelRespuesta9(estadistica.getRespuest9Malo(),estadistica.getRespuesta9Regular(),
estadistica.getRespuesta9Bueno(),estadistica.getRespuesta9MuyBueno(),
estadistica.getRespuesta9Excelente(),re.getPregunta9Calif());
createBarModelRespuesta10(estadistica.getRespuest10Malo(),estadistica.getRespuesta10Regular(),
estadistica.getRespuesta10Bueno(),estadistica.getRespuesta10MuyBueno(),
estadistica.getRespuesta10Excelente(),re.getPregunta10Calif());
return "grafico";
}
public String mostrarRespuestaAbiertas(String tabla){
EncuestaDAO encuestaDAO = new EncuestaDAO();
EstadisticaDAO estadisticaDAO = new EstadisticaDAO();
re=encuestaDAO.mostrarEncuesta(tabla);
listaRespuestas=estadisticaDAO.mostrarRespuestasAbiertas(tabla);
return "texto";
}
public void createPieModelRespuesta1(int si,int no) {
pieModel1 = new PieChartModel();
ChartData data = new ChartData();
PieChartDataSet dataSet = new PieChartDataSet();
List<Number> values = new ArrayList<>();
values.add(si);
values.add(no);
dataSet.setData(values);
List<String> bgColors = new ArrayList<>();
bgColors.add("rgb(255, 99, 132)");
bgColors.add("rgb(54, 162, 235)");
dataSet.setBackgroundColor(bgColors);
data.addChartDataSet(dataSet);
List<String> labels = new ArrayList<>();
labels.add("Si");
labels.add("No");
data.setLabels(labels);
pieModel1.setData(data);
}
public void createPieModelRespuesta2(int si,int no) {
pieModel2 = new PieChartModel();
ChartData data = new ChartData();
PieChartDataSet dataSet = new PieChartDataSet();
List<Number> values = new ArrayList<>();
values.add(si);
values.add(no);
dataSet.setData(values);
List<String> bgColors = new ArrayList<>();
bgColors.add("rgb(255, 99, 132)");
bgColors.add("rgb(54, 162, 235)");
dataSet.setBackgroundColor(bgColors);
data.addChartDataSet(dataSet);
List<String> labels = new ArrayList<>();
labels.add("Si");
labels.add("No");
data.setLabels(labels);
pieModel2.setData(data);
}
public void createPieModelRespuesta3(int si,int no) {
pieModel3 = new PieChartModel();
ChartData data = new ChartData();
PieChartDataSet dataSet = new PieChartDataSet();
List<Number> values = new ArrayList<>();
values.add(si);
values.add(no);
dataSet.setData(values);
List<String> bgColors = new ArrayList<>();
bgColors.add("rgb(255, 99, 132)");
bgColors.add("rgb(54, 162, 235)");
dataSet.setBackgroundColor(bgColors);
data.addChartDataSet(dataSet);
List<String> labels = new ArrayList<>();
labels.add("Si");
labels.add("No");
data.setLabels(labels);
pieModel3.setData(data);
}
public void createPieModelRespuesta4(int si,int no) {
pieModel4 = new PieChartModel();
ChartData data = new ChartData();
PieChartDataSet dataSet = new PieChartDataSet();
List<Number> values = new ArrayList<>();
values.add(si);
values.add(no);
dataSet.setData(values);
List<String> bgColors = new ArrayList<>();
bgColors.add("rgb(255, 99, 132)");
bgColors.add("rgb(54, 162, 235)");
dataSet.setBackgroundColor(bgColors);
data.addChartDataSet(dataSet);
List<String> labels = new ArrayList<>();
labels.add("Si");
labels.add("No");
data.setLabels(labels);
pieModel4.setData(data);
}
public void createPieModelRespuesta5(int si,int no) {
pieModel5 = new PieChartModel();
ChartData data = new ChartData();
PieChartDataSet dataSet = new PieChartDataSet();
List<Number> values = new ArrayList<>();
values.add(si);
values.add(no);
dataSet.setData(values);
List<String> bgColors = new ArrayList<>();
bgColors.add("rgb(255, 99, 132)");
bgColors.add("rgb(54, 162, 235)");
dataSet.setBackgroundColor(bgColors);
data.addChartDataSet(dataSet);
List<String> labels = new ArrayList<>();
labels.add("Si");
labels.add("No");
data.setLabels(labels);
pieModel5.setData(data);
}
public void createPieModelRespuesta6(int si,int no) {
pieModel6 = new PieChartModel();
ChartData data = new ChartData();
PieChartDataSet dataSet = new PieChartDataSet();
List<Number> values = new ArrayList<>();
values.add(si);
values.add(no);
dataSet.setData(values);
List<String> bgColors = new ArrayList<>();
bgColors.add("rgb(255, 99, 132)");
bgColors.add("rgb(54, 162, 235)");
dataSet.setBackgroundColor(bgColors);
data.addChartDataSet(dataSet);
List<String> labels = new ArrayList<>();
labels.add("Si");
labels.add("No");
data.setLabels(labels);
pieModel6.setData(data);
}
public void createPieModelRespuesta7(int si,int no) {
pieModel7 = new PieChartModel();
ChartData data = new ChartData();
PieChartDataSet dataSet = new PieChartDataSet();
List<Number> values = new ArrayList<>();
values.add(si);
values.add(no);
dataSet.setData(values);
List<String> bgColors = new ArrayList<>();
bgColors.add("rgb(255, 99, 132)");
bgColors.add("rgb(54, 162, 235)");
dataSet.setBackgroundColor(bgColors);
data.addChartDataSet(dataSet);
List<String> labels = new ArrayList<>();
labels.add("Si");
labels.add("No");
data.setLabels(labels);
pieModel7.setData(data);
}
public void createBarModelRespuesta9(int malo,int regular,int bueno,int muyBueno,int excelente,String pregunta) {
barModel = new BarChartModel();
ChartData data = new ChartData();
BarChartDataSet barDataSet = new BarChartDataSet();
barDataSet.setLabel("Survey 10");
List<Number> values = new ArrayList<>();
values.add(malo);
values.add(regular);
values.add(bueno);
values.add(muyBueno);
values.add(excelente);
barDataSet.setData(values);
List<String> bgColor = new ArrayList<>();
bgColor.add("rgba(255, 99, 132, 0.2)");
bgColor.add("rgba(255, 159, 64, 0.2)");
bgColor.add("rgba(255, 205, 86, 0.2)");
bgColor.add("rgba(75, 192, 192, 0.2)");
bgColor.add("rgba(54, 162, 235, 0.2)");
barDataSet.setBackgroundColor(bgColor);
List<String> borderColor = new ArrayList<>();
borderColor.add("rgb(255, 99, 132)");
borderColor.add("rgb(255, 159, 64)");
borderColor.add("rgb(255, 205, 86)");
borderColor.add("rgb(75, 192, 192)");
borderColor.add("rgb(54, 162, 235)");
barDataSet.setBorderColor(borderColor);
barDataSet.setBorderWidth(1);
data.addChartDataSet(barDataSet);
List<String> labels = new ArrayList<>();
labels.add("Malo");
labels.add("Regular");
labels.add("Bueno");
labels.add("Muy Bueno");
labels.add("Excelente");
data.setLabels(labels);
barModel.setData(data);
//Options
BarChartOptions options = new BarChartOptions();
CartesianScales cScales = new CartesianScales();
CartesianLinearAxes linearAxes = new CartesianLinearAxes();
linearAxes.setOffset(true);
CartesianLinearTicks ticks = new CartesianLinearTicks();
ticks.setBeginAtZero(true);
linearAxes.setTicks(ticks);
cScales.addYAxesData(linearAxes);
options.setScales(cScales);
Title title = new Title();
title.setDisplay(true);
title.setText(pregunta);
options.setTitle(title);
Legend legend = new Legend();
legend.setDisplay(true);
legend.setPosition("top");
LegendLabel legendLabels = new LegendLabel();
legendLabels.setFontStyle("bold");
legendLabels.setFontColor("#2980B9");
legendLabels.setFontSize(24);
legend.setLabels(legendLabels);
options.setLegend(legend);
// disable animation
Animation animation = new Animation();
animation.setDuration(0);
options.setAnimation(animation);
barModel.setOptions(options);
}
public void createBarModelRespuesta10(int malo,int regular,int bueno,int muyBueno,int excelente,String pregunta) {
barModel2 = new BarChartModel();
ChartData data = new ChartData();
BarChartDataSet barDataSet = new BarChartDataSet();
barDataSet.setLabel("Survey 10");
List<Number> values = new ArrayList<>();
values.add(malo);
values.add(regular);
values.add(bueno);
values.add(muyBueno);
values.add(excelente);
barDataSet.setData(values);
List<String> bgColor = new ArrayList<>();
bgColor.add("rgba(255, 99, 132, 0.2)");
bgColor.add("rgba(255, 159, 64, 0.2)");
bgColor.add("rgba(255, 205, 86, 0.2)");
bgColor.add("rgba(75, 192, 192, 0.2)");
bgColor.add("rgba(54, 162, 235, 0.2)");
barDataSet.setBackgroundColor(bgColor);
List<String> borderColor = new ArrayList<>();
borderColor.add("rgb(255, 99, 132)");
borderColor.add("rgb(255, 159, 64)");
borderColor.add("rgb(255, 205, 86)");
borderColor.add("rgb(75, 192, 192)");
borderColor.add("rgb(54, 162, 235)");
barDataSet.setBorderColor(borderColor);
barDataSet.setBorderWidth(1);
data.addChartDataSet(barDataSet);
List<String> labels = new ArrayList<>();
labels.add("Malo");
labels.add("Regular");
labels.add("Bueno");
labels.add("Muy Bueno");
labels.add("Excelente");
data.setLabels(labels);
barModel2.setData(data);
//Options
BarChartOptions options = new BarChartOptions();
CartesianScales cScales = new CartesianScales();
CartesianLinearAxes linearAxes = new CartesianLinearAxes();
linearAxes.setOffset(true);
CartesianLinearTicks ticks = new CartesianLinearTicks();
ticks.setBeginAtZero(true);
linearAxes.setTicks(ticks);
cScales.addYAxesData(linearAxes);
options.setScales(cScales);
Title title = new Title();
title.setDisplay(true);
title.setText(pregunta);
options.setTitle(title);
Legend legend = new Legend();
legend.setDisplay(true);
legend.setPosition("top");
LegendLabel legendLabels = new LegendLabel();
legendLabels.setFontStyle("bold");
legendLabels.setFontColor("#2980B9");
legendLabels.setFontSize(24);
legend.setLabels(legendLabels);
options.setLegend(legend);
// disable animation
Animation animation = new Animation();
animation.setDuration(0);
options.setAnimation(animation);
barModel2.setOptions(options);
}
}
Creamos la clase GenerarEncuestaView
package com.tutosoftware.survey10.view;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import com.tutosoftware.survey10.dao.EncuestaDAO;
import com.tutosoftware.survey10.entity.RegistrarEncuesta;
@ManagedBean
@SessionScoped
public class GenerarEncuestaView {
private RegistrarEncuesta registrarEncuesta;
private String nombreEncuesta;
private String pregunta1SiNo;
private String pregunta2SiNo;
private String pregunta3SiNo;
private String pregunta4SiNo;
private String pregunta5SiNo;
private String pregunta6SiNo;
private String pregunta7SiNo;
private String pregunta8Texto;
private String pregunta9Calif;
private String pregunta10Calif;
public String getNombreEncuesta() {
return nombreEncuesta;
}
public void setNombreEncuesta(String nombreEncuesta) {
this.nombreEncuesta = nombreEncuesta;
}
public String getPregunta1SiNo() {
return pregunta1SiNo;
}
public void setPregunta1SiNo(String pregunta1SiNo) {
this.pregunta1SiNo = pregunta1SiNo;
}
public String getPregunta2SiNo() {
return pregunta2SiNo;
}
public void setPregunta2SiNo(String pregunta2SiNo) {
this.pregunta2SiNo = pregunta2SiNo;
}
public String getPregunta3SiNo() {
return pregunta3SiNo;
}
public void setPregunta3SiNo(String pregunta3SiNo) {
this.pregunta3SiNo = pregunta3SiNo;
}
public String getPregunta4SiNo() {
return pregunta4SiNo;
}
public void setPregunta4SiNo(String pregunta4SiNo) {
this.pregunta4SiNo = pregunta4SiNo;
}
public String getPregunta5SiNo() {
return pregunta5SiNo;
}
public void setPregunta5SiNo(String pregunta5SiNo) {
this.pregunta5SiNo = pregunta5SiNo;
}
public String getPregunta6SiNo() {
return pregunta6SiNo;
}
public void setPregunta6SiNo(String pregunta6SiNo) {
this.pregunta6SiNo = pregunta6SiNo;
}
public String getPregunta7SiNo() {
return pregunta7SiNo;
}
public void setPregunta7SiNo(String pregunta7SiNo) {
this.pregunta7SiNo = pregunta7SiNo;
}
public String getPregunta8Texto() {
return pregunta8Texto;
}
public void setPregunta8Texto(String pregunta8Texto) {
this.pregunta8Texto = pregunta8Texto;
}
public String getPregunta9Calif() {
return pregunta9Calif;
}
public void setPregunta9Calif(String pregunta9Calif) {
this.pregunta9Calif = pregunta9Calif;
}
public String getPregunta10Calif() {
return pregunta10Calif;
}
public void setPregunta10Calif(String pregunta10Calif) {
this.pregunta10Calif = pregunta10Calif;
}
public RegistrarEncuesta getRegistrarEncuesta() {
return registrarEncuesta;
}
public void setRegistrarEncuesta(RegistrarEncuesta registrarEncuesta) {
this.registrarEncuesta = registrarEncuesta;
}
public void crearEncuesta() {
boolean activarEncuesta;
EncuestaDAO encuestaDAO =new EncuestaDAO();
activarEncuesta=encuestaDAO.comprobarEncuestaActiva();
System.out.println("Hay encuestas activadas: "+activarEncuesta);
if(!activarEncuesta) {
int activo=1;
String tablaEncuesta = uuid();
System.out.println("Agregar encuesta");
RegistrarEncuesta re= new RegistrarEncuesta();
re.setNombreEncuesta(nombreEncuesta);
re.setTablaEncuesta(tablaEncuesta);
re.setPregunta1SiNo(pregunta1SiNo);
re.setPregunta2SiNo(pregunta2SiNo);
re.setPregunta3SiNo(pregunta3SiNo);
re.setPregunta4SiNo(pregunta4SiNo);
re.setPregunta5SiNo(pregunta5SiNo);
re.setPregunta6SiNo(pregunta6SiNo);
re.setPregunta7SiNo(pregunta7SiNo);
re.setPregunta8Texto(pregunta8Texto);
re.setPregunta9Calif(pregunta9Calif);
re.setPregunta10Calif(pregunta10Calif);
re.setActivarEncuesta(activo);
encuestaDAO.crearEncuesta(re);
limpiarEncuesta();
}else {
System.out.println("desactivar encuesta");
encuestaDAO.desactivarEncuesta();
int activo=1;
String tablaEncuesta = uuid();
System.out.println("Agregar encuesta");
RegistrarEncuesta re= new RegistrarEncuesta();
re.setNombreEncuesta(nombreEncuesta);
re.setTablaEncuesta(tablaEncuesta);
re.setPregunta1SiNo(pregunta1SiNo);
re.setPregunta2SiNo(pregunta2SiNo);
re.setPregunta3SiNo(pregunta3SiNo);
re.setPregunta4SiNo(pregunta4SiNo);
re.setPregunta5SiNo(pregunta5SiNo);
re.setPregunta6SiNo(pregunta6SiNo);
re.setPregunta7SiNo(pregunta7SiNo);
re.setPregunta8Texto(pregunta8Texto);
re.setPregunta9Calif(pregunta9Calif);
re.setPregunta10Calif(pregunta10Calif);
re.setActivarEncuesta(activo);
encuestaDAO.crearEncuesta(re);
limpiarEncuesta();
}
}
public void limpiarEncuesta() {
nombreEncuesta=" ";
pregunta1SiNo=" ";
pregunta2SiNo=" ";
pregunta3SiNo=" ";
pregunta4SiNo=" ";
pregunta5SiNo=" ";
pregunta6SiNo=" ";
pregunta7SiNo=" ";
pregunta8Texto=" ";
pregunta9Calif=" ";
pregunta10Calif=" ";
}
public String uuid() {
Long numero = System.currentTimeMillis();
String cadena=numero.toString();
return cadena;
}
}
Creamos la clase HistorialEncuestaView
package com.tutosoftware.survey10.view;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import com.tutosoftware.survey10.dao.EncuestaDAO;
import com.tutosoftware.survey10.entity.RegistrarEncuesta;
@ManagedBean
@SessionScoped
public class HistorialEncuestaView {
private List<RegistrarEncuesta> listaEncuesta = new ArrayList<RegistrarEncuesta>();
public List<RegistrarEncuesta> getListaEncuesta() {
return listaEncuesta;
}
public void setListaEncuesta(List<RegistrarEncuesta> listaEncuesta) {
this.listaEncuesta = listaEncuesta;
}
@PostConstruct
public void init() {
EncuestaDAO encuestaDAO = new EncuestaDAO();
listaEncuesta = encuestaDAO.mostrarEncuestas();
}
}
Creamos la clase LoginView
package com.tutosoftware.survey10.view;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import org.primefaces.model.menu.DefaultMenuItem;
import org.primefaces.model.menu.DefaultMenuModel;
import org.primefaces.model.menu.DefaultSubMenu;
import org.primefaces.model.menu.MenuModel;
import com.tutosoftware.survey10.dao.LoginDAO;
import com.tutosoftware.survey10.entity.Usuario;
import com.tutosoftware.survey10.util.SessionUtils;
@ManagedBean
@SessionScoped
public class LoginView {
private String email;
private String password;
private Usuario usuario;
private String userAdmin;
private MenuModel model;
@PostConstruct
public void init() {
model = new DefaultMenuModel();
//First submenu
DefaultSubMenu firstSubmenu = DefaultSubMenu.builder()
.label("Dynamic Submenu")
.build();
DefaultMenuItem item = DefaultMenuItem.builder()
.value("External")
.url("http://www.primefaces.org")
.icon("pi pi-home")
.build();
firstSubmenu.getElements().add(item);
model.getElements().add(firstSubmenu);
//Second submenu
DefaultSubMenu secondSubmenu = DefaultSubMenu.builder()
.label("Dynamic Actions")
.build();
item = DefaultMenuItem.builder()
.value("Save")
.icon("pi pi-save")
.command("#{encuestaView.save}")
.update("messages")
.build();
secondSubmenu.getElements().add(item);
item = DefaultMenuItem.builder()
.value("Delete")
.icon("pi pi-times")
.command("#{encuestaView.delete}")
.ajax(false)
.build();
secondSubmenu.getElements().add(item);
item = DefaultMenuItem.builder()
.value("Redirect")
.icon("pi pi-search")
.command("#{encuestaView.redirect}")
.build();
secondSubmenu.getElements().add(item);
model.getElements().add(secondSubmenu);
}
public MenuModel getModel() {
return model;
}
public void save() {
addMessage("Success", "Data saved");
}
public void update() {
addMessage("Success", "Data updated");
}
public void delete() {
addMessage("Success", "Data deleted");
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String getUserAdmin() {
return userAdmin;
}
public void setUserAdmin(String userAdmin) {
this.userAdmin = userAdmin;
}
public String loginSurvey() {
LoginDAO loginDAO = new LoginDAO();
usuario = loginDAO.obtenerUsuario(email);
if(usuario == null) {
addMessage("Success", "Usuario o pasword incorrectos");
return "login";
}
if(usuario.getPassword().equals(password)) {
HttpSession session = SessionUtils.getSession();
userAdmin=usuario.getNombre()+" "+usuario.getApellidoPaterno()+" "+usuario.getApellidoMaterno();
session.setAttribute("username",userAdmin);
return "admin";
}else {
addMessage("Success", "Usuario o pasword incorrectos");
return "login";
}
}
public void addMessage(String summary, String detail) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
FacesContext.getCurrentInstance().addMessage(null, message);
}
public String logout() {
HttpSession session = SessionUtils.getSession();
session.invalidate();
return "login";
}
}