Beans.CargarArchivos.java Source code

Java tutorial

Introduction

Here is the source code for Beans.CargarArchivos.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 Beans;

import dao.Sequence;
import Entity.Objetivos;
import Entity.Proyectos;
import Entity.TipoProyecto;
import Entity.Usuario;
import Entity.UsuarioProyecto;
import Modelo.Objetivo;
import Modelo.Tipo_Proyecto;
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.Part;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateUtil;

/**
 *
 * @author Microinformatica
 */
@ManagedBean
@SessionScoped
public class CargarArchivos implements Serializable {

    private Part file1;
    private String nombre;
    private String ruta;
    private long Tipo_proyc;
    ArrayList<TipoProyecto> tipo = new ArrayList();

    public CargarArchivos() {

    }

    public CargarArchivos(Part file1, String nombre, String ruta, long Tipo_proyc) {
        this.file1 = file1;
        this.nombre = nombre;
        this.ruta = ruta;
        this.Tipo_proyc = Tipo_proyc;
    }

    public void cargar_tipo() {
        System.out.println("Entr");
        tipo.clear();
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction t = session.beginTransaction();
        try {
            tipo = (ArrayList) session.createQuery("from TipoProyecto").list();
            t.commit();
        } catch (Exception ex) {
            System.out.println("Error " + ex.toString());
        }

    }

    private String getFilename(Part part) {
        for (String cd : part.getHeader("content-disposition").split(";")) {
            if (cd.trim().startsWith("filename")) {
                String filename = cd.substring(cd.indexOf('=') + 1).trim().replace("\"", "");
                return filename.substring(filename.lastIndexOf('/') + 1).substring(filename.lastIndexOf('\\') + 1); // MSIE fix.
            }
        }
        return null;
    }

    public boolean verificarArchivo() {
        boolean r = false;
        System.err.println("entro a validar " + getFilename(file1));
        String vp = getFilename(file1).substring(getFilename(file1).length() - 4, getFilename(file1).length());
        if (vp.equalsIgnoreCase("docx")) {
            r = true;
        }
        return r;

    }

    public void mandarAVista() {
        if (verificarArchivo()) {
            String ruta = "";
            String r = creardirectorios();
            String v1 = getFilename(file1).substring(0, getFilename(file1).length() - 5);
            String f = v1 + "-V1"
                    + getFilename(file1).substring(getFilename(file1).length() - 5, getFilename(file1).length());
            System.out.println("rut " + f);
            try {
                file1.write(r + "\\" + f);
                ruta = r + "\\" + f;
                CargarArchivos ca = new CargarArchivos(file1, nombre, ruta, Tipo_proyc);
                FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("Documentos", ca);
                FacesContext.getCurrentInstance().getExternalContext().redirect("AgregarObjetivos.xhtml");
            } catch (Exception ex) {

            }
        } else {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR, "El archivo debe ser tipo Word", ""));

        }

    }

    public String creardirectorios() {
        Date fecha = new Date();
        String ruta = "";
        System.out.println("C:\\Documentos\\"
                + fecha.toString().substring(fecha.toString().length() - 4, fecha.toString().length()));
        File directorio = new File("C:\\Documentos\\"
                + fecha.toString().substring(fecha.toString().length() - 4, fecha.toString().length()));
        if (directorio.mkdir()) {
            File directorio2 = new File("C:\\Documentos\\"
                    + fecha.toString().substring(fecha.toString().length() - 4, fecha.toString().length()) + "\\"
                    + nombre);
            if (directorio2.mkdir()) {
                System.out.println("Se ha creado directorio");

            }
        } else {
            File directorio2 = new File("C:\\Documentos\\"
                    + fecha.toString().substring(fecha.toString().length() - 4, fecha.toString().length()) + "\\"
                    + nombre);
            if (directorio2.mkdir()) {
                System.out.println("Se ha creado directorio");

            }
            System.out.println("Ya existe");
        }
        return ruta = "C:\\Documentos\\"
                + fecha.toString().substring(fecha.toString().length() - 4, fecha.toString().length()) + "\\"
                + nombre;
    }

    public Part getFile1() {
        return file1;
    }

    public void setFile1(Part file1) {
        this.file1 = file1;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public ArrayList<TipoProyecto> getTipo() {
        return tipo;
    }

    public void setTipo(ArrayList<TipoProyecto> tipo) {
        this.tipo = tipo;
    }

    public long getTipo_proyc() {
        return Tipo_proyc;
    }

    public void setTipo_proyc(long Tipo_proyc) {
        this.Tipo_proyc = Tipo_proyc;
    }

    public String getRuta() {
        return ruta;
    }

    public void setRuta(String ruta) {
        this.ruta = ruta;
    }

}