Package org.magicbox.service

Source Code of org.magicbox.service.PubblicazioniFacadeImpl

/*
* Copyright Massimiliano Dessi (desmax74@yahoo.it)
*
* Licensed under Apache License Version 2.0
* (http://www.apache.org/licenses/LICENSE-2.0),
*
* for commercial use, under
* GNU General Public License Version 2 or later (the "GPL")
* http://www.gnu.org/licenses/gpl.html
*/
package org.magicbox.service;

import org.magicbox.domain.Annuncio;
import org.magicbox.dto.Email;
import org.magicbox.dto.Envelope;
import org.magicbox.service.scheduling.MailQueueImpl;
import org.magicbox.service.scheduling.SmsQueue;

/**
* Pubblicazioni facade (da terminare)
*
* @author Massimiliano Dessì (desmax74@yahoo.it)
* @since jdk 1.6.0
* @version 3.0
*/
public class PubblicazioniFacadeImpl implements PubblicazioniFacade {

    public void inviaMail(Envelope busta) {
        if (busta.getInseritiHidden().length() == 0) {
            inviaMailCentro(busta.getAnnuncio());
        } else {
            // recupero gli inseritiHidden
        }
    }

    public void inviaSms(Envelope busta) {
        if (busta.getInseritiHidden().length() == 0) {
            inviaSmsCentro(busta.getAnnuncio());
        } else {
            // recupero gli inseritiHidden
        }
    }

    public void pubblicaRss(Annuncio annuncio) {
        annunciService.insertAnnuncio(annuncio);
    }

    private void inviaMailCentro(Annuncio annuncio) {
        // List listaMail = recapitiService.getListaMailCentro(annuncio.getCentro());

        annunciService.insertAnnuncio(annuncio);
    }

    private void inviaSmsCentro(Annuncio annuncio) {
        // List listaCellulari = recapitiService.getListaCellulariCentro(annuncio.getCentro());

        annunciService.insertAnnuncio(annuncio);
    }

    public void accodaMail(String to, String toMail, String oggettoMail, String msg) {
        mailQueue.aggiungi(new Email(to, toMail, oggettoMail, msg));
    }

    public void smaltisciCodaMail() {

        if (!mailQueue.isVuota()) {

            int dimensioneCoda = mailQueue.size();

            for (int i = 0; i < dimensioneCoda; i++) {
                // la prima nella codsa � la pi� vecchia all'interno della coda
                Email mail = mailQueue.restituisciPrimaMail();

                if (!spedisciMailPerSingoloUtente(mail)) {
                    // se la spedizione non � andata bene la rimetto in coda
                    mailQueue.aggiungi(mail);
                }
            }
        }
    }

    public void setAnnunciService(AnnunciService annunciService) {
        this.annunciService = annunciService;
    }

    private boolean spedisciMailPerSingoloUtente(Email mail) {
        return mailSender.spedisciSingolaEmailSemplice(mail);
    }

    public void setRecapitiService(RecapitiService recapitiService) {
        this.recapitiService = recapitiService;
    }

    public void setMailSender(MailSender mailSender) {
        this.mailSender = mailSender;
    }

    public void setMailQueue(MailQueueImpl mailQueue) {
        this.mailQueue = mailQueue;
    }

    public void setSmsQueue(SmsQueue smsQueue) {
        this.smsQueue = smsQueue;
    }

    private MailSender mailSender;
    private RecapitiService recapitiService;
    private MailQueueImpl mailQueue;
    private SmsQueue smsQueue;
    private AnnunciService annunciService;
}
TOP

Related Classes of org.magicbox.service.PubblicazioniFacadeImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.