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";
	}


}