ejemplo.bean.TaskBean.java Source code

Java tutorial

Introduction

Here is the source code for ejemplo.bean.TaskBean.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ejemplo.bean;

import ejemplo.collection.Projects;
import ejemplo.collection.Status;
import ejemplo.collection.Task;
import ejemplo.service.ProjectsService;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.apache.commons.io.IOUtils;
import org.primefaces.context.RequestContext;
import org.primefaces.model.UploadedFile;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

/**
 *
 * @author RMA
 */
@Component
@Scope("request")
public class TaskBean implements Serializable {

    @Autowired
    ProjectsService projectsService;

    @Autowired
    LoginBean loginBean;

    @Autowired
    DashboardViewBean dashboardView;

    protected String titulo;
    protected String descripcion;
    protected String estadoSeleccionado;
    protected Date tiempo;
    protected UploadedFile file;
    protected UploadedFile fileN;
    protected List<Status> estados;

    /**
     * Creates a new instance of TaskBean
     */
    public TaskBean() {

    }

    @PostConstruct
    public void init() {
        Projects selectedProject = loginBean.getSelectedProject();
        estados = selectedProject.getEstados();
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getEstadoSeleccionado() {
        return estadoSeleccionado;
    }

    public void setEstadoSeleccionado(String estadoSeleccionado) {
        this.estadoSeleccionado = estadoSeleccionado;
    }

    public Date getTiempo() {
        return tiempo;
    }

    public void setTiempo(Date tiempo) {
        this.tiempo = tiempo;
    }

    public UploadedFile getFile() {
        return file;
    }

    public void setFile(UploadedFile file) {
        this.file = file;
    }

    public List<Status> getEstados() {
        return estados;
    }

    public void setEstados(List<Status> estados) {
        this.estados = estados;
    }

    public LoginBean getLoginBean() {
        return loginBean;
    }

    public void setLoginBean(LoginBean loginBean) {
        this.loginBean = loginBean;
    }

    public UploadedFile getFileN() {
        return fileN;
    }

    public void setFileN(UploadedFile fileN) {
        this.fileN = fileN;
    }

    public String login() throws IOException {

        Task t = new Task();
        String fichero;
        Task editTarea = null;

        RequestContext context = RequestContext.getCurrentInstance();
        FacesMessage message;
        boolean loggedIn = true;

        Timestamp insertarTiempo;
        insertarTiempo = new Timestamp(tiempo.getTime());

        t.setNombre_tarea(titulo);
        t.setDescription(descripcion);
        t.setEstado_tarea(estadoSeleccionado);
        t.setTiempo_estimado(insertarTiempo.toString());
        Calendar cal = Calendar.getInstance();
        t.setFecha_ini(cal.getTime().toString());
        t.setId_tarea(String.valueOf(System.currentTimeMillis()));
        t.setNombre_usuario(loginBean.user.getNombre());
        if (!file.getFileName().equals("")) {

            byte[] bytes = IOUtils.toByteArray(file.getInputstream());
            String realPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath("/");
            t.setFichero("/resources/files/" + file.getFileName());
            t.setNombre_fichero(file.getFileName());
            FileOutputStream os = new FileOutputStream(realPath + "resources/files/" + file.getFileName());
            os.write(bytes);
            os.close();
        }
        Projects selectedProject = loginBean.getSelectedProject();

        List<Task> tareas = selectedProject.getTareas();

        if (tareas == null) {
            List<Task> tareasInsertar = new ArrayList<>();
            tareasInsertar.add(t);
            selectedProject.setTareas(tareasInsertar);
        } else {
            selectedProject.getTareas().add(t);
        }

        dashboardView.RefreshDash();

        projectsService.editProjects(selectedProject);
        loginBean.setSelectedProject(selectedProject);
        message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Tarea", "La tarea se ha creado correctamente");
        FacesContext.getCurrentInstance().addMessage(null, message);
        context.addCallbackParam("loggedIn", loggedIn);

        return "";

    }

    public void editar(Task task) throws IOException {
        List<Task> tareas = loginBean.selectedProject.getTareas();

        for (Task t : tareas) {
            if (t.getId_tarea().equals(task.getId_tarea())) {
                tareas.remove(t);
                tareas.add(t);
                projectsService.editProjects(loginBean.selectedProject);
            }
        }
    }

}