Example usage for javax.activation FileDataSource FileDataSource

List of usage examples for javax.activation FileDataSource FileDataSource

Introduction

In this page you can find the example usage for javax.activation FileDataSource FileDataSource.

Prototype

public FileDataSource(String name) 

Source Link

Document

Creates a FileDataSource from the specified path name.

Usage

From source file:es.pode.planificador.negocio.trabajos.CargaODEs.java

/**
 * Mtodo de ejecucin de la tarea./*from w  ww .  ja  v  a 2s. c  o m*/
 * Publicacin de los ODEs en la plataforma de manera automtica.
 */
public void execute(JobExecutionContext context) throws JobExecutionException {
    Long idTarea = null;
    String usuario = (String) context.getJobDetail().getJobDataMap().get(CtesPlanificador.USUARIO);
    boolean ejecucionIncorrecta = false;

    /* Aadimos la seguridad al proceso */
    log("Usuario que lanza la tarea: " + usuario);
    boolean contextoCargado = Autenticar.cargarContextoSeguridad(usuario);

    if (!contextoCargado) {
        log.error("ERROR: No han cargado los datos en el contexto de seguridad");
        return;
    }

    /*
     *   Parmetros propios del trabajo:
     *       pathODEs, pathODEsCargados, pathODEsNoCargados
     *       msgPublicado, msgNoPublicado y msgDescTrabajo
     *       
    */
    ArrayList parametros = (ArrayList) context.getJobDetail().getJobDataMap().get(CtesPlanificador.PARAMETROS);
    String pathODEs = (String) parametros.get(0);
    String pathODEsCargados = (String) parametros.get(1);
    String pathODEsNoCargados = (String) parametros.get(2);
    String msgPublicado = (String) parametros.get(3);
    String msgNoPublicado = (String) parametros.get(4);
    String msgDescTrabajo = (String) parametros.get(5);
    String sobrescribir = (String) parametros.get(6);

    log("CargaODEs: " + context.getJobDetail().getFullName() + " ejecutandose a las " + new Date());

    /* Comprobamos si existen los directorios de trabajo de la carga de ODEs */
    File fPathODEs = new File(pathODEs);
    if (!fPathODEs.exists()) {
        log.error("Error: El directorio donde se deben encontrar los ODEs no existe o no se puede acceder a l "
                + fPathODEs.getAbsolutePath());
        JobExecutionException excepcion = new JobExecutionException(
                "Error: No se ha podido registrar. El directorio de los ODEs no existe: "
                        + fPathODEs.getAbsolutePath());
        throw excepcion;
    }

    File fpathODEsCargados = new File(pathODEsCargados);
    if (!fpathODEsCargados.exists()) {
        log.error(
                "Error: El directorio donde se deben mover los ODEs cargados no existe o no se puede acceder a l "
                        + fPathODEs.getAbsolutePath());
        JobExecutionException excepcion = new JobExecutionException(
                "Error: No se ha podido registrar. No exste el directorio donde se deben moven los ODEs publicados: "
                        + fpathODEsCargados.getAbsolutePath());
        throw excepcion;
    }

    File fpathODEsNoCargados = new File(pathODEsNoCargados);
    if (!fpathODEsNoCargados.exists()) {
        log.error(
                "Error: El directorio donde se deben mover los ODEs no cargados no existe o no se puede acceder a l "
                        + fpathODEsNoCargados.getAbsolutePath());
        JobExecutionException excepcion = new JobExecutionException(
                "Error: El directorio donde se deben mover los ODEs no cargados no existe o no se puede acceder a l "
                        + fpathODEsNoCargados.getAbsolutePath());
        throw excepcion;
    }

    /* Registramos el inicio del trabajo */
    idTarea = Planificador.registrarInicioTarea(context.getJobDetail().getName(),
            context.getJobDetail().getGroup(), msgDescTrabajo, usuario);

    log("Identificador de la tarea: " + idTarea);

    /* Recorremos el directorio donde estan los ficheros(ODEs) a publicar */

    /* Antiguamente:: Se recogian los odes de una direccion en concreto
       File ODEs = new File(pathODEs);
       File[] arrayList = ODEs.listFiles();
     */

    File fileOde = null;

    String[] odes = UtilesFicheros.obtenerOdesDePath(pathODEs, true, true);

    //recorremos todos los odes
    for (int i = 0; i < odes.length; i++) {
        try {
            log("Carga del ODE: " + odes[i]);

            /* Se comprueba si la tarea ha sido interrumpida */
            if (interrupcion) {
                log("Se para la tarea por peticin del cliente");
                break;
            }

            /* Antes se ignoraba los directorios, ahora obtenermos una lista de los path de los odes
             * que esten dentro de una carpeta o de subcarpetas. no hace falta ignorar los directorios
             * Los directorios no se cargan en el nodo 
                    
            if (arrayList[i].isDirectory()) {
               log("Directorio: " + arrayList[i].getAbsolutePath());
               continue;
            }
                    
            //Nos aseguramos que siga existiendo el fichero a cargar
            if (!arrayList[i].exists()) {
               log("El fichero " + arrayList[i].getAbsolutePath() + " ha sido borrado o movido");
               continue;
            }
                    
            */

            //recogemos el ode correspondiente en un FILE para tratarlo
            fileOde = new File(odes[i]);

            //comprobamos que el ode existe todavia
            if (!fileOde.exists()) {
                log("El fichero " + odes[i] + " ha sido borrado o movido");
                continue;
            }

            FileDataSource fileDS = new FileDataSource(odes[i]);
            log("FileDataSource: " + fileDS.toString());

            /* Llamada al servicio de publicacin con el ODE */
            DataHandler pif = new DataHandler(fileDS);
            log("DataHandler: " + pif.toString());

            String codPublicacion = ServiceLocator.instance().getSrvPlanificadorService().publicarPIF(pif,
                    usuario.toString(), msgDescTrabajo + " " + fileOde.getName(), sobrescribir,
                    fileOde.getName());

            //Tratamos el codigo para que solo contenga el primero si tuviera mas de uno
            String codigoCapado = null;

            if (codPublicacion == null || codPublicacion.equals(""))
                codigoCapado = "20.1";
            else {
                int posicion = codPublicacion.indexOf(";");
                if (posicion == -1)
                    codigoCapado = codPublicacion;
                else
                    codigoCapado = codPublicacion.substring(0, posicion);
            }

            log("PublicarPIF: " + codigoCapado);

            /* Preparacin del registro del resultado de la publicacin */
            TareaEjecutadaVO tarea = new TareaEjecutadaVO();
            tarea.setId(idTarea);
            RegistroTareaEjecutadaVO registro = new RegistroTareaEjecutadaVO();
            registro.setTarea_ejecutada(tarea);
            registro.setFecha(new GregorianCalendar());
            registro.setCodigo(codigoCapado);

            /* Publicacin correcta */
            if (codigoCapado.equals(PUBLICACION_CORRECTA)) {
                log.debug("Registramos que la publicacin ha sido correcta. ODE: " + fileOde.getName());
                registro.setEstado(ConstantesAgrega.TRABAJO_CORRECTO);
                registro.setDescripcion(msgPublicado + ". " + fileOde.getName());

                /* Se mueve el ODE publicado al directorio correspondiente */
                try {
                    log.debug("Fichero: " + pathODEsCargados + File.separator + fileOde.getName());

                    File ficheroCargado = new File(pathODEsCargados + File.separator + fileOde.getName());

                    if (ficheroCargado.exists()) {
                        log.warn("Ya existe un fichero con ese nombre: " + ficheroCargado.getAbsolutePath()
                                + " en la carpeta de cargados. Se elimina para mover el nuevo fichero");
                        ficheroCargado.delete();
                    }

                    boolean mov = fileOde.renameTo(ficheroCargado);
                    if (!mov)
                        log.error("El fichero no se ha podido mover: " + fileOde.getAbsolutePath());
                } catch (Exception e2) {
                    RegistrarTrabajoException excepcion = new RegistrarTrabajoException(
                            "Error: No se ha podido mover el ODE cargado al directorio de ODEs publicados "
                                    + fileOde.getAbsolutePath(),
                            e2);
                    log.error(excepcion);
                }
            } else { // Publicacin incorrecta. El ODE no pasa la validacin
                log.info("El ODE: " + fileOde.getName() + " no es vlido. Cdigo de error: " + codPublicacion);
                registro.setEstado(ConstantesAgrega.TRABAJO_ERRONEO);
                // vamos a recoger el error de publicacion
                if (codPublicacion.indexOf(";") != -1)
                    msgNoPublicado = codPublicacion.substring(codPublicacion.indexOf(";") + 1);
                registro.setDescripcion(msgNoPublicado + ". " + fileOde.getName());
                registro.setCodigo(codigoCapado);
                ejecucionIncorrecta = true;

                /* Se mueve el ODE no publicado al directorio correspondiente */
                try {
                    log.debug(
                            "Fichero no publicado: " + pathODEsNoCargados + File.separator + fileOde.getName());

                    File ficheroNoCargado = new File(pathODEsNoCargados + File.separator + fileOde.getName());

                    if (ficheroNoCargado.exists()) {
                        log.warn("Ya existe un fichero con ese nombre: " + ficheroNoCargado.getAbsolutePath()
                                + " en la carpeta de no cargados. Se elimina para mover el nuevo fichero");
                        ficheroNoCargado.delete();
                    }

                    boolean mov = fileOde.renameTo(ficheroNoCargado);

                    if (!mov)
                        log.error("El fichero no se ha podido mover: " + fileOde.getAbsolutePath());
                } catch (Exception e2) {
                    RegistrarTrabajoException excepcion = new RegistrarTrabajoException(
                            "Error: No se ha podido mover el ODE no publicado " + fileOde.getAbsolutePath(),
                            e2);
                    log.error(excepcion);
                }
            }

            // Se registra en la tabla derivada como ha ido la carga de ese ODE
            try {
                ServiceLocator.instance().getSrvRegistroPlanificadorService().registrarTrabajoHijo(registro);
            } catch (Exception e1) {
                RegistrarTrabajoException excepcion = new RegistrarTrabajoException(
                        "Error: No se ha podido registrar la tarea derivada " + e1.getMessage(), e1);
                log.error(excepcion);
            }
        } catch (Exception e) { // Deberan ser excepciones enviadas del servicio de publicacin de ODEs

            String path = "";

            if (fileOde != null || fileOde.getAbsolutePath() != null)
                path = fileOde.getAbsolutePath();

            log.error("Error publicando ODE: " + path + " " + e);
            ejecucionIncorrecta = true;

            TareaEjecutadaVO tarea = new TareaEjecutadaVO();
            tarea.setId(idTarea);
            RegistroTareaEjecutadaVO registro = new RegistroTareaEjecutadaVO();
            registro.setTarea_ejecutada(tarea);
            registro.setDescripcion(msgNoPublicado + ". " + fileOde.getName() + " " + e.getMessage());
            registro.setEstado(ConstantesAgrega.TRABAJO_ERRONEO);
            registro.setCodigo(EXCEPCION_NO_CONTROLADA);
            registro.setFecha(new GregorianCalendar());

            /* Registramos la no publicacin del ODE */
            try {
                ServiceLocator.instance().getSrvRegistroPlanificadorService().registrarTrabajoHijo(registro);
            } catch (Exception e1) {
                RegistrarTrabajoException excepcion = new RegistrarTrabajoException(
                        "Error: No se ha podido registrar", e1);
                log.error(excepcion);
            }

            /* Se mueve el ODE no publicado al directorio correspondiente */
            try {
                log("Fichero no publicado: " + pathODEsNoCargados + File.separator + fileOde.getName());
                File ficheroNoCargado = new File(pathODEsNoCargados + File.separator + fileOde.getName());

                if (ficheroNoCargado.exists()) {
                    log.warn("Ya existe un fichero con ese nombre: " + ficheroNoCargado.getAbsolutePath()
                            + " en la carpeta de no cargados. Se elimina para mover el nuevo fichero");
                    ficheroNoCargado.delete();
                }

                boolean mov = fileOde.renameTo(ficheroNoCargado);

                if (!mov)
                    log.error("El fichero no se ha podido mover: " + fileOde.getAbsolutePath());
            } catch (Exception e2) {
                RegistrarTrabajoException excepcion = new RegistrarTrabajoException(
                        "Error: No se ha podido mover el ODE no publicado " + fileOde.getAbsolutePath(), e2);
                log.error(excepcion);
            }
        }
    }

    //TODO: De este registro se deber encargar la tarea ejecutada
    /* Registramos la hora de finalizacin de la tarea y si ha sido correcta/incorrecta la publicacin */
    try {
        TareaEjecutadaVO trabajoEjecutado = new TareaEjecutadaVO();
        trabajoEjecutado.setId(idTarea);
        trabajoEjecutado.setFechaFin(new GregorianCalendar());

        if (interrupcion)
            trabajoEjecutado.setEstado(ConstantesAgrega.TRABAJO_INTERRUMPIDO);
        else if (ejecucionIncorrecta)
            trabajoEjecutado.setEstado(ConstantesAgrega.TRABAJO_ERRONEO);
        else
            trabajoEjecutado.setEstado(ConstantesAgrega.TRABAJO_CORRECTO);

        ServiceLocator.instance().getSrvRegistroPlanificadorService()
                .registrarTrabajoFechaFin(trabajoEjecutado);
    } catch (Exception e1) {
        RegistrarTrabajoException excepcion = new RegistrarTrabajoException(
                "Error: No se ha podido registrar el fin del trabajo", e1);
        log.error(excepcion);
    }
}

From source file:org.onesec.raven.ivr.vmail.impl.VMailManagerNodeTest.java

@Test
public void cleanupOldMessagesTest() throws Exception {
    VMailBoxNode vbox = createVBox(manager, "vbox1", true);
    createVBoxNumber(vbox, "111", true);
    vbox.setNewMessagesLifeTime(1);//from w  ww . jav a  2 s . c  o  m
    vbox.setSavedMessagesLifeTime(2);
    assertTrue(manager.start());

    File testFile = createTestFile();
    ds.pushData(new NewVMailMessageImpl("111", "222", new Date(), new FileDataSource(testFile)));
    vbox.getNewMessages().get(0).save();
    ds.pushData(new NewVMailMessageImpl("111", "333", minusDays(new Date(), 3), new FileDataSource(testFile)));
    vbox.getNewMessages().get(0).save();
    ds.pushData(new NewVMailMessageImpl("111", "333", new Date(), new FileDataSource(testFile)));
    ds.pushData(new NewVMailMessageImpl("111", "444", minusDays(new Date(), 2), new FileDataSource(testFile)));

    assertEquals(2, vbox.getNewMessagesCount());
    assertEquals(2, vbox.getSavedMessagesCount());
    manager.executeScheduledJob(null);
    assertEquals(1, vbox.getNewMessagesCount());
    assertEquals(1, vbox.getSavedMessagesCount());
    assertEquals("222", vbox.getSavedMessages().get(0).getSenderPhoneNumber());
    assertEquals("333", vbox.getNewMessages().get(0).getSenderPhoneNumber());
}

From source file:rescustomerservices.GmailQuickstart.java

/**
 * Create a MimeMessage using the parameters provided.
 *
 * @param to Email address of the receiver.
 * @param from Email address of the sender, the mailbox account.
 * @param subject Subject of the email./* w w  w .  j a  va 2  s .co  m*/
 * @param bodyText Body text of the email.
 * @param fileDir Path to the directory containing attachment.
 * @param filename Name of file to be attached.
 * @return MimeMessage to be used to send email.
 * @throws MessagingException
 */
public MimeMessage createEmailWithAttachment(String to, String from, String subject, String bodyText,
        String fileDir, String filename) throws MessagingException, IOException {
    Properties props = new Properties();
    Session session = Session.getDefaultInstance(props, null);

    MimeMessage email = new MimeMessage(session);
    InternetAddress tAddress = new InternetAddress(to);
    InternetAddress fAddress = new InternetAddress(from);

    email.setFrom(fAddress);
    email.addRecipient(javax.mail.Message.RecipientType.TO, tAddress);
    email.setSubject(subject);

    MimeBodyPart mimeBodyPart = new MimeBodyPart();
    mimeBodyPart.setContent(bodyText, "text/plain");
    mimeBodyPart.setHeader("Content-Type", "text/plain; charset=\"UTF-8\"");

    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(mimeBodyPart);

    mimeBodyPart = new MimeBodyPart();
    DataSource source = new FileDataSource(fileDir + filename);

    mimeBodyPart.setDataHandler(new DataHandler(source));
    mimeBodyPart.setFileName(filename);
    String contentType = Files.probeContentType(FileSystems.getDefault().getPath(fileDir, filename));
    mimeBodyPart.setHeader("Content-Type", contentType + "; name=\"" + filename + "\"");
    mimeBodyPart.setHeader("Content-Transfer-Encoding", "base64");

    multipart.addBodyPart(mimeBodyPart);

    email.setContent(multipart);

    return email;
}

From source file:org.wso2.carbon.registry.ws.api.utils.CommonUtil.java

public static DataHandler makeDataHandler(Resource resource, File tempFile)
        throws IOException, RegistryException {
    if (resource.getContent() == null) {
        return null;
    }/*from w w w  .j ava  2 s.c om*/
    InputStream is = null;
    OutputStream os = null;
    try {
        os = new FileOutputStream(tempFile);
        if (resource.getContent() instanceof String[]) {
            String[] strArray = (String[]) resource.getContent();

            ObjectOutputStream oos = new ObjectOutputStream(os);
            oos.writeObject(strArray);
        } else {
            try {
                is = resource.getContentStream();
                //                    os = new FileOutputStream(tempFile);

                byte[] buffer = new byte[4096];
                for (int n; (n = is.read(buffer)) != -1;)
                    os.write(buffer, 0, n);
                os.flush();
            } finally {
                if (is != null) {
                    is.close();
                }
            }
        }
    } finally {
        if (os != null) {
            os.close();
        }
    }
    //         Base64Binary base64Binary = new Base64Binary();
    return new DataHandler(new FileDataSource(tempFile));
}

From source file:Implement.Service.AdminServiceImpl.java

@Override
public boolean sendPackageApprovedEmail(PackageApprovedEmailData emailData) throws MessagingException {
    String path = System.getProperty("catalina.base");
    MimeBodyPart logo = new MimeBodyPart();
    // attach the file to the message
    DataSource source = new FileDataSource(new File(path + "/webapps/Images/Email/logoIcon.png"));
    logo.setDataHandler(new DataHandler(source));
    logo.setFileName("logoIcon.png");
    logo.setDisposition(MimeBodyPart.INLINE);
    logo.setHeader("Content-ID", "<logo_Icon>"); // cid:image_cid

    MimeBodyPart facebook = new MimeBodyPart();
    // attach the file to the message
    source = new FileDataSource(new File(path + "/webapps/Images/Email/facebookIcon.png"));
    facebook.setDataHandler(new DataHandler(source));
    facebook.setFileName("facebookIcon.png");
    facebook.setDisposition(MimeBodyPart.INLINE);
    facebook.setHeader("Content-ID", "<fb_Icon>"); // cid:image_cid

    MimeBodyPart twitter = new MimeBodyPart();
    // attach the file to the message
    source = new FileDataSource(new File(path + "/webapps/Images/Email/twitterIcon.png"));
    twitter.setDataHandler(new DataHandler(source));
    twitter.setFileName("twitterIcon.png");
    twitter.setDisposition(MimeBodyPart.INLINE);
    twitter.setHeader("Content-ID", "<twitter_Icon>"); // cid:image_cid

    MimeBodyPart insta = new MimeBodyPart();
    // attach the file to the message
    source = new FileDataSource(new File(path + "/webapps/Images/Email/instaIcon.png"));
    insta.setDataHandler(new DataHandler(source));
    insta.setFileName("instaIcon.png");
    insta.setDisposition(MimeBodyPart.INLINE);
    insta.setHeader("Content-ID", "<insta_Icon>"); // cid:image_cid

    MimeBodyPart youtube = new MimeBodyPart();
    // attach the file to the message
    source = new FileDataSource(new File(path + "/webapps/Images/Email/youtubeIcon.png"));
    youtube.setDataHandler(new DataHandler(source));
    youtube.setFileName("youtubeIcon.png");
    youtube.setDisposition(MimeBodyPart.INLINE);
    youtube.setHeader("Content-ID", "<yt_Icon>"); // cid:image_cid

    MimeBodyPart pinterest = new MimeBodyPart();
    // attach the file to the message
    source = new FileDataSource(new File(path + "/webapps/Images/Email/pinterestIcon.png"));
    pinterest.setDataHandler(new DataHandler(source));
    pinterest.setFileName("pinterestIcon.png");
    pinterest.setDisposition(MimeBodyPart.INLINE);
    pinterest.setHeader("Content-ID", "<pin_Icon>"); // cid:image_cid

    String content = "<div style=' width: 507px;background-color: #f2f2f4;'>"
            + "    <div style='padding: 30px 0;text-align: center; color: #fff; background-color: #ff514e;font-size: 30px;font-weight: bold;'>"
            + "        <img style=' text-align:center;' width=57 height=57 src='cid:logo_Icon'/>"
            + "        <p style='margin:25px 0px 0px 0px;'> Package Approved! </p>" + "    </div>"
            + "    <div style=' padding: 50px;margin-bottom: 20px;'>" + "        <div id='email-form'>"
            + "            <div style='margin-bottom: 20px'>" + "                Hi " + emailData.getLastName()
            + " ,<br/>" + "                Your package " + emailData.getLastestPackageName()
            + " has been approved" + "            </div>" + "            <div style='margin-bottom: 20px'>"
            + "                Thanks,<br/>" + "                Youtripper team\n" + "            </div>"
            + "        </div>" + "        <div style='border-top: solid 1px #c4c5cc;text-align:center;'>"
            + "            <p style='text-align: center; color: #3b3e53;margin-top: 10px;margin-bottom: 0px;font-size: 10px;'>Sent from Youtripper.com</p>"
            + "            <div>"
            + "                <a href='https://www.facebook.com/youtrippers/'><img style='margin:10px;' src='cid:fb_Icon' alt=''/></a>"
            + "                <a href='https://twitter.com/youtrippers'><img style='margin:10px;' src='cid:twitter_Icon' alt=''/></a>"
            + "                <a href='https://www.instagram.com/youtrippers/'><img style='margin:10px;' src='cid:insta_Icon' alt=''/></a>"
            + "                <a href='https://www.youtube.com/channel/UCtd4xd_SSjRR9Egug7tXIWA'><img style='margin:10px;' src='cid:yt_Icon' alt=''/></a>"
            + "                <a href='https://www.pinterest.com/youtrippers/'><img style='margin:10px;' src='cid:pin_Icon' alt=''/></a>"
            + "            </div>"
            + "            <p>Youtripper Ltd., 56 Soi Seri Villa, Srinakarin Rd., Nongbon,"
            + "                <br>Pravet, Bangkok, Thailand 10250</p>" + "        </div>" + "    </div>"
            + "</div>";

    MimeBodyPart mbp1 = new MimeBodyPart();
    mbp1.setText(content, "US-ASCII", "html");

    Multipart mp = new MimeMultipart("related");
    mp.addBodyPart(mbp1);//w  w  w  . j a v  a  2s.  c  om
    mp.addBodyPart(logo);
    mp.addBodyPart(facebook);
    mp.addBodyPart(twitter);
    mp.addBodyPart(insta);
    mp.addBodyPart(youtube);
    mp.addBodyPart(pinterest);

    final String username = "noreply@youtripper.com";
    final String password = "Tripper190515";
    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", "mail.youtripper.com");

    Session session = Session.getInstance(props, new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
    });

    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("noreply@youtripper.com"));
    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(emailData.getEmail()));
    message.setSubject("Package Approved!");
    message.setContent(mp);
    message.saveChanges();
    Transport.send(message);
    return true;
}

From source file:bo.com.offercruzmail.imp.InterpretadorMensajeGenerico.java

protected Multipart enviarPlantilla(boolean plantillaNueva, String idCargar)
        throws MessagingException, IOException {
    String nombreArchivoOrigen;/*  w  ww  .  j a va2  s. c om*/
    String nombreAdjunto;
    List<T> lista = null;
    mensajesError = null;
    T entidad = null;
    getObjetoNegocio().setIdUsuario(idUsuario);
    getObjetoNegocio().setComandoPermiso(nombreEntidad);
    try {
        if (!plantillaNueva) {
            if ("todos".equals(idCargar)) {
                lista = getObjetoNegocio().obtenerTodos();
                nombreArchivoOrigen = nombreEntidad + "-" + "lista";
                nombreAdjunto = "lista_" + nombreEntidad + ".xlsx";
            } else {
                ID id;
                try {
                    id = convertirId(idCargar);
                } catch (Exception ex) {
                    return FormadorMensajes.enviarIdCargarNoValido();
                }
                entidad = getObjetoNegocio().recuperarPorId(id);
                if (entidad == null) {
                    return FormadorMensajes.enviarEntidadNoExiste(idCargar);
                }
                nombreArchivoOrigen = nombreEntidad;
                nombreAdjunto = nombreEntidad + "_" + idCargar + ".xlsx";
            }
        } else {
            nombreArchivoOrigen = nombreEntidad;
            nombreAdjunto = "plantilla_" + nombreEntidad + ".xlsx";
            //            if (this instanceof IInterpretadorFormularioDasometrico) {
            //                if (cargarPlantillaFormularios) {
            //                    nombreArchivoOrigen = "plantillafrm";
            //                }
            //            }
        }
        String nombreArchivoOriginal = "plantillas/" + nombreArchivoOrigen + ".xlsx";
        File archivoCopia = UtilitariosMensajes.reservarNombre(nombreEntidad);
        UtilitariosMensajes.copiarArchivo(new File(nombreArchivoOriginal), archivoCopia);
        archivosTemporales.add(archivoCopia);
        FileInputStream fis = null;
        OutputStream os = null;
        try {
            Workbook libro;
            fis = new FileInputStream(archivoCopia);
            libro = WorkbookFactory.create(fis);
            hojaActual = new HojaExcelHelper(libro.getSheetAt(0));
            if (plantillaNueva) {
                preparPlantillaAntesDeEnviar(libro);
            } else {
                if (lista != null) {
                    mostrarLista(lista);
                } else {
                    mostrarEntidad(entidad, libro);
                }
            }
            if (mensajesError != null) {
                return FormadorMensajes.enviarErroresNegocio(mensajesError);
            }
            //Guardamos cambio
            os = new FileOutputStream(archivoCopia);
            libro.write(os);
        } catch (InvalidFormatException ex) {

        } finally {
            if (fis != null) {
                fis.close();
            }
            if (os != null) {
                os.close();
            }
        }
        String textoMensaje;
        if (plantillaNueva) {
            textoMensaje = escapeHtml4("La plantilla est adjunta a este mensaje.");
        } else if (lista != null) {
            textoMensaje = "La consulta ha devuelto " + lista.size() + " registro(s).";
        } else {
            textoMensaje = escapeHtml4("El registro solicitado est adjunto a este mensaje");
        }
        Multipart cuerpo = new MimeMultipart();
        BodyPart adjunto = new MimeBodyPart();
        DataSource origen = new FileDataSource(archivoCopia);
        adjunto.setDataHandler(new DataHandler(origen));
        adjunto.setFileName(nombreAdjunto);
        cuerpo.addBodyPart(FormadorMensajes.getBodyPartEnvuelto(textoMensaje));
        cuerpo.addBodyPart(adjunto);
        return cuerpo;
    } catch (PermisosInsuficientesException ex) {
        appendException(new BusinessExceptionMessage(ex.getMessage(), "Autentificacion"));
    }
    if (mensajesError != null) {
        return FormadorMensajes.enviarErroresNegocio(mensajesError);
    }
    return null;
}

From source file:edu.ku.brc.helpers.EMailHelper.java

/**
 * Send an email. Also sends it as a gmail if applicable, and does password checking.
 * @param host host of SMTP server/*from ww w . j  av a  2 s  .  c  o m*/
 * @param uName username of email account
 * @param pWord password of email account
 * @param fromEMailAddr the email address of who the email is coming from typically this is the same as the user's email
 * @param toEMailAddr the email addr of who this is going to
 * @param subject the Textual subject line of the email
 * @param bodyText the body text of the email (plain text???)
 * @param fileAttachment and optional file to be attached to the email
 * @return true if the msg was sent, false if not
 */
public static ErrorType sendMsg(final String host, final String uName, final String pWord,
        final String fromEMailAddr, final String toEMailAddr, final String subject, final String bodyText,
        final String mimeType, final String port, final String security, final File fileAttachment) {
    String userName = uName;
    String password = pWord;

    if (StringUtils.isEmpty(toEMailAddr)) {
        UIRegistry.showLocalizedError("EMailHelper.NO_TO_ERR");
        return ErrorType.Error;
    }

    if (StringUtils.isEmpty(fromEMailAddr)) {
        UIRegistry.showLocalizedError("EMailHelper.NO_FROM_ERR");
        return ErrorType.Error;
    }

    //if (isGmailEmail())
    //{
    //    return sendMsgAsGMail(host, userName, password, fromEMailAddr, toEMailAddr, subject, bodyText, mimeType, port, security, fileAttachment);
    //}

    Boolean fail = false;
    ArrayList<String> userAndPass = new ArrayList<String>();

    boolean isSSL = security.equals("SSL");

    String[] keys = { "mail.smtp.host", "mail.smtp.port", "mail.smtp.auth", "mail.smtp.starttls.enable",
            "mail.smtp.socketFactory.port", "mail.smtp.socketFactory.class", "mail.smtp.socketFactory.fallback",
            "mail.imap.auth.plain.disable", };
    Properties props = System.getProperties();
    for (String key : keys) {
        props.remove(key);
    }

    props.put("mail.smtp.host", host); //$NON-NLS-1$

    if (StringUtils.isNotEmpty(port) && StringUtils.isNumeric(port)) {
        props.put("mail.smtp.port", port); //$NON-NLS-1$ //$NON-NLS-2$
    } else {
        props.remove("mail.smtp.port");
    }

    if (StringUtils.isNotEmpty(security)) {
        if (security.equals("TLS")) {
            props.put("mail.smtp.auth", "true"); //$NON-NLS-1$ //$NON-NLS-2$
            props.put("mail.smtp.starttls.enable", "true"); //$NON-NLS-1$ //$NON-NLS-2$

        } else if (isSSL) {
            props.put("mail.smtp.auth", "true"); //$NON-NLS-1$ //$NON-NLS-2$

            String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
            props.put("mail.smtp.socketFactory.port", port);
            props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
            props.put("mail.smtp.socketFactory.fallback", "false");
            props.put("mail.imap.auth.plain.disable", "true");
        }
    }

    Session session = null;
    if (isSSL) {
        Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
        session = Session.getInstance(props, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(uName, pWord);
            }
        });

    } else {
        session = Session.getInstance(props, null);
    }

    session.setDebug(instance.isDebugging);
    if (instance.isDebugging) {
        log.debug("Host:     " + host); //$NON-NLS-1$
        log.debug("UserName: " + userName); //$NON-NLS-1$
        log.debug("Password: " + password); //$NON-NLS-1$
        log.debug("From:     " + fromEMailAddr); //$NON-NLS-1$
        log.debug("To:       " + toEMailAddr); //$NON-NLS-1$
        log.debug("Subject:  " + subject); //$NON-NLS-1$
        log.debug("Port:     " + port); //$NON-NLS-1$
        log.debug("Security: " + security); //$NON-NLS-1$
    }

    try {

        // create a message
        MimeMessage msg = new MimeMessage(session);

        msg.setFrom(new InternetAddress(fromEMailAddr));

        if (toEMailAddr.indexOf(",") > -1) //$NON-NLS-1$
        {
            StringTokenizer st = new StringTokenizer(toEMailAddr, ","); //$NON-NLS-1$
            InternetAddress[] address = new InternetAddress[st.countTokens()];
            int i = 0;
            while (st.hasMoreTokens()) {
                String toStr = st.nextToken().trim();
                address[i++] = new InternetAddress(toStr);
            }
            msg.setRecipients(Message.RecipientType.TO, address);
        } else {
            try {
                InternetAddress[] address = { new InternetAddress(toEMailAddr) };
                msg.setRecipients(Message.RecipientType.TO, address);

            } catch (javax.mail.internet.AddressException ex) {
                UIRegistry.showLocalizedError("EMailHelper.TO_ADDR_ERR", toEMailAddr);
                return ErrorType.Error;
            }
        }
        msg.setSubject(subject);

        //msg.setContent( aBodyText , "text/html;charset=\"iso-8859-1\"");

        // create the second message part
        if (fileAttachment != null) {
            // create and fill the first message part
            MimeBodyPart mbp1 = new MimeBodyPart();
            mbp1.setContent(bodyText, mimeType);//"text/html;charset=\"iso-8859-1\"");
            //mbp1.setContent(bodyText, "text/html;charset=\"iso-8859-1\"");

            MimeBodyPart mbp2 = new MimeBodyPart();

            // attach the file to the message
            FileDataSource fds = new FileDataSource(fileAttachment);
            mbp2.setDataHandler(new DataHandler(fds));
            mbp2.setFileName(fds.getName());

            // create the Multipart and add its parts to it
            Multipart mp = new MimeMultipart();
            mp.addBodyPart(mbp1);
            mp.addBodyPart(mbp2);

            // add the Multipart to the message
            msg.setContent(mp);

        } else {
            // add the Multipart to the message
            msg.setContent(bodyText, mimeType);
        }

        final int TRIES = 1;

        // set the Date: header
        msg.setSentDate(new Date());

        Exception exception = null;
        // send the message
        int cnt = 0;
        do {
            cnt++;
            SMTPTransport t = isSSL ? null : (SMTPTransport) session.getTransport("smtp"); //$NON-NLS-1$
            try {
                if (isSSL) {
                    Transport.send(msg);

                } else {
                    t.connect(host, userName, password);
                    t.sendMessage(msg, msg.getAllRecipients());
                }

                fail = false;

            } catch (SendFailedException mex) {
                mex.printStackTrace();
                exception = mex;

            } catch (MessagingException mex) {
                if (mex.getCause() instanceof UnknownHostException) {
                    instance.lastErrorMsg = null;
                    fail = true;
                    UIRegistry.showLocalizedError("EMailHelper.UNK_HOST", host);

                } else if (mex.getCause() instanceof ConnectException) {
                    instance.lastErrorMsg = null;
                    fail = true;
                    UIRegistry.showLocalizedError(
                            "EMailHelper." + (StringUtils.isEmpty(port) ? "CNCT_ERR1" : "CNCT_ERR2"), port);

                } else {
                    mex.printStackTrace();
                    exception = mex;
                }

            } catch (Exception mex) {
                mex.printStackTrace();
                exception = mex;

            } finally {
                if (t != null) {
                    log.debug("Response: " + t.getLastServerResponse()); //$NON-NLS-1$
                    t.close();
                }
            }

            if (exception != null) {
                fail = true;

                instance.lastErrorMsg = exception.toString();

                //wrong username or password, get new one
                if (exception.toString().equals("javax.mail.AuthenticationFailedException")) //$NON-NLS-1$
                {
                    UIRegistry.showLocalizedError("EMailHelper.UP_ERROR", userName);

                    userAndPass = askForUserAndPassword((Frame) UIRegistry.getTopWindow());

                    if (userAndPass == null) { //the user is done
                        instance.lastErrorMsg = null;
                        return ErrorType.Cancel;
                    }
                    userName = userAndPass.get(0);
                    password = userAndPass.get(1);
                }

            }
            exception = null;

        } while (fail && cnt < TRIES);

    } catch (Exception mex) {
        //edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount();
        //edu.ku.brc.exceptions.ExceptionTracker.getInstance().capture(EMailHelper.class, mex);
        instance.lastErrorMsg = mex.toString();

        mex.printStackTrace();
        Exception ex = null;
        if (mex instanceof MessagingException && (ex = ((MessagingException) mex).getNextException()) != null) {
            ex.printStackTrace();
            instance.lastErrorMsg = instance.lastErrorMsg + ", " + ex.toString(); //$NON-NLS-1$
        }
        return ErrorType.Error;

    }

    if (fail) {
        return ErrorType.Error;
    } //else

    return ErrorType.OK;
}

From source file:frameworkcontentspeed.Utils.SendEmailAtachament.java

public static void SendEmailAnda(String from, String to1, String subject, String filename)
        throws FileNotFoundException, IOException {
    //Get properties object    
    Properties props = new Properties();
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.socketFactory.port", "465");
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.port", "465");
    //get Session   
    Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(from, "anda.cristea");
        }//  www .j a  v a2  s .c o m
    });
    //compose message    
    try {
        MimeMessage message = new MimeMessage(session);
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(to1));

        message.setSubject(subject);
        // message.setText(msg);

        BodyPart messageBodyPart = new MimeBodyPart();

        messageBodyPart.setText("Raport teste automate");

        Multipart multipart = new MimeMultipart();

        multipart.addBodyPart(messageBodyPart);

        messageBodyPart = new MimeBodyPart();

        DataSource source = new FileDataSource(filename);

        messageBodyPart.setDataHandler(new DataHandler(source));

        messageBodyPart.setFileName(filename);

        multipart.addBodyPart(messageBodyPart);

        //message.setContent(multipart);

        StringWriter writer = new StringWriter();
        IOUtils.copy(new FileInputStream(new File(filename)), writer);

        message.setContent(writer.toString(), "text/html");

        //send message  
        Transport.send(message);

    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }

}

From source file:org.wso2.carbon.esb.scenario.test.common.ScenarioTestBase.java

/**
 * Function to upload carbon application
 *
 * @param carFileName the name of the carbon application to be deployed
 * @throws RemoteException if the admin client becomes unable to connect to the admin service
 *//*w  ww.  j a v  a  2s .c om*/
protected void deployCarbonApplication(String carFileName) throws RemoteException, InterruptedException {

    if (standaloneMode) {
        // If standalone mode, deploy the CAPP to the server
        String cappFilePath = testResourcesDir + File.separator + "artifacts" + File.separator + carFileName
                + ".car";

        if (carbonAppUploaderClient == null) {
            carbonAppUploaderClient = new CarbonAppUploaderClient(backendURL, sessionCookie);
        }
        DataHandler dh = new DataHandler(new FileDataSource(new File(cappFilePath)));
        // Upload carbon application
        carbonAppUploaderClient.uploadCarbonAppArtifact(carFileName + ".car", dh);

        //TODO - This thread sleep is added temporarily to wait until the ESB Instances sync in the cluster in clustered test environment
        if (!Boolean.valueOf(infraProperties.getProperty(ScenarioConstants.STANDALONE_DEPLOYMENT))) {
            log.info("Waiting for artifacts synchronized across cluster nodes");
            Thread.sleep(120000);
        }

        if (applicationAdminClient == null) {
            applicationAdminClient = new ApplicationAdminClient(backendURL, sessionCookie);
        }

        // Wait for Capp to sync
        log.info("Waiting for Carbon Application deployment ..");
        Awaitility.await().pollInterval(500, TimeUnit.MILLISECONDS)
                .atMost(ScenarioConstants.ARTIFACT_DEPLOYMENT_WAIT_TIME_MS, TimeUnit.MILLISECONDS)
                .until(isCAppDeployed(applicationAdminClient, carFileName));
    }
}

From source file:javamailclient.GmailAPI.java

/**
 * Create a MimeMessage using the parameters provided.
 *
 * @param to Email address of the receiver.
 * @param from Email address of the sender, the mailbox account.
 * @param subject Subject of the email.// w w  w.  j a  v a2 s  .c  o  m
 * @param bodyText Body text of the email.
 * @param fileDir Path to the directory containing attachment.
 * @param filename Name of file to be attached.
 * @return MimeMessage to be used to send email.
 * @throws MessagingException
 */
public static MimeMessage createEmailWithAttachment(String to, String from, String subject, String bodyText,
        String fileDir, String filename) throws MessagingException, IOException {
    Properties props = new Properties();
    Session session = Session.getDefaultInstance(props, null);

    MimeMessage email = new MimeMessage(session);
    InternetAddress tAddress = new InternetAddress(to);
    InternetAddress fAddress = new InternetAddress(from);

    email.setFrom(fAddress);
    email.addRecipient(javax.mail.Message.RecipientType.TO, tAddress);
    email.setSubject(subject);

    MimeBodyPart mimeBodyPart = new MimeBodyPart();
    mimeBodyPart.setContent(bodyText, "text/plain");
    mimeBodyPart.setHeader("Content-Type", "text/plain; charset=\"UTF-8\"");

    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(mimeBodyPart);

    mimeBodyPart = new MimeBodyPart();
    DataSource source = new FileDataSource(fileDir + filename);

    mimeBodyPart.setDataHandler(new DataHandler(source));
    mimeBodyPart.setFileName(filename);
    String contentType = Files.probeContentType(FileSystems.getDefault().getPath(fileDir, filename));
    mimeBodyPart.setHeader("Content-Type", contentType + "; name=\"" + filename + "\"");
    mimeBodyPart.setHeader("Content-Transfer-Encoding", "base64");

    multipart.addBodyPart(mimeBodyPart);

    email.setContent(multipart);

    return email;
}