public void loadOrganizzazione() { Organizzazione org = null; AreaOrganizzativa aoo = null; RegistroDelegate registroDelegate = null; try { org = Organizzazione.getInstance(); org.resetOrganizzazione(); org.setValueObject(organizzazioneDAO.getAmministrazione()); Collection areeOrganizzative = AreaOrganizzativaDelegate.getInstance().getAreeOrganizzative(); for (Iterator i = areeOrganizzative.iterator(); i.hasNext(); ) { aoo = new AreaOrganizzativa((AreaOrganizzativaVO) i.next()); org.addAreaOrganizzativa(aoo); } for (Iterator i = organizzazioneDAO.getUffici().iterator(); i.hasNext(); ) { UfficioVO uff = (UfficioVO) i.next(); aoo = org.getAreaOrganizzativa(uff.getAooId()); org.addUfficio(new Ufficio(uff)); } Collection uffici = org.getUffici(); for (Iterator i = uffici.iterator(); i.hasNext(); ) { Ufficio ui = (Ufficio) i.next(); int parentId = ui.getValueObject().getParentId(); if (parentId == 0) { aoo = org.getAreaOrganizzativa(ui.getValueObject().getAooId()); aoo.setUfficioCentrale(ui); } else { for (Iterator j = uffici.iterator(); j.hasNext(); ) { Ufficio uj = (Ufficio) j.next(); int id = uj.getValueObject().getId().intValue(); if (id == parentId) { ui.setUfficioDiAppartenenza(uj); break; } } } } Collection utenti = UtenteDelegate.getInstance().getUtenti(); for (Iterator u = utenti.iterator(); u.hasNext(); ) { UtenteVO uteVO = (UtenteVO) u.next(); Utente ute = new Utente(uteVO); org.addUtente(ute); Collection ids = getIdentificativiUffici(uteVO.getId().intValue()); for (Iterator i = ids.iterator(); i.hasNext(); ) { int uffId = ((Integer) i.next()).intValue(); int uteId = ute.getValueObject().getId().intValue(); // logger.info(org.getUfficio(uffId)); if (org.getUfficio(uffId).getValueObject().getParentId() > 0) { org.getUfficio(uffId).addUtente(ute); if (isUtenteReferenteUfficio(uffId, uteId)) org.getUfficio(uffId).addUtenteReferente(ute); } } } registroDelegate = RegistroDelegate.getInstance(); for (Iterator i = registroDelegate.getRegistri().iterator(); i.hasNext(); ) { org.addRegistro((RegistroVO) i.next()); } } catch (DataException de) { logger.error("OrganizzazioneDelegate failed.", de); } catch (Exception e) { logger.error("OrganizzazioneDelegate failed.", e); } }
public void caricaServiziEmail() { String SCHEDULER_NAME = "EPROT_SCHEDULER"; try { SchedulerFactory factory = new StdSchedulerFactory(); Scheduler scheduler = factory.getScheduler(); try { logger.debug("shutting down EmailDaemon..."); scheduler.shutdown(true); logger.debug("stopped."); } catch (SchedulerException e) { logger.error("", e); } scheduler = factory.getScheduler(); Iterator aree = Organizzazione.getInstance().getAreeOrganizzative().iterator(); boolean startScheduler = false; while (aree.hasNext()) { AreaOrganizzativa aoo = (AreaOrganizzativa) aree.next(); AreaOrganizzativaVO aooVO = AreaOrganizzativaDelegate.getInstance() .getAreaOrganizzativa(aoo.getValueObject().getId().intValue()); if (aoo == null) { logger.warn( "Organizzazione contiene un AOO (model) ma la base dati non ha corrispondeza (vo)" + aoo.getUfficioCentrale().getValueObject()); continue; } else if (aooVO.getPecAbilitata()) { startScheduler = true; String tmpPath = config.getServletContext().getRealPath("/") + config.getServletContext().getInitParameter(Constants.TEMP_PEC_PATH) + aooVO.getId().intValue(); // in minuti int intervallo = aooVO.getPecTimer(); // intervallo = 5; // pop3 JobDetail protocolloIngresso = new JobDetail( "ProtocolliIngressoEmailAoo_" + aoo.getValueObject().getId().intValue(), SCHEDULER_NAME, FetchEmailJob.class); JobDetail protocolloUscita = new JobDetail( "ProtocolliUscitaEmailAoo_" + aoo.getValueObject().getId().intValue(), SCHEDULER_NAME, CodaInvioEmailJob.class); // POP3S protocolloIngresso.getJobDataMap().put("aoo_id", aooVO.getId()); // SMTP(SSL) protocolloUscita.getJobDataMap().put("aoo_id", aooVO.getId()); // temp Folders setup protocolloIngresso.getJobDataMap().put("mail.tempfolder", tmpPath); protocolloUscita.getJobDataMap().put("mail.tempfolder", tmpPath); SimpleTrigger triggerIngresso = new SimpleTrigger( "ProtocolliIngressoTrigger_" + aooVO.getId().intValue(), SCHEDULER_NAME, new Date(), null, SimpleTrigger.REPEAT_INDEFINITELY, intervallo * 60L * 1000L); SimpleTrigger triggerUscita = new SimpleTrigger( "ProtocolliUscitaTrigger_" + aooVO.getId().intValue(), SCHEDULER_NAME, new Date(), null, SimpleTrigger.REPEAT_INDEFINITELY, intervallo * 60L * 1000L); scheduler.scheduleJob(protocolloIngresso, triggerIngresso); scheduler.scheduleJob(protocolloUscita, triggerUscita); } } if (startScheduler) scheduler.start(); } catch (SchedulerException e) { logger.error("", e); } }