public void add (@Nonnull final FailedMailData aFailedMailData, final boolean bAudit) { super.add (aFailedMailData); _markAsChanged (); if (bAudit) AuditHelper.onAuditExecuteSuccess ("failedmail-add", aFailedMailData); }
@Override public void add (@Nonnull final FailedMailData aFailedMailData) { this.add (aFailedMailData, true); }
@Override @Nonnull protected IMicroDocument createWriteData () { final IMicroDocument aDoc = new MicroDocument (); final IMicroElement eRoot = aDoc.appendElement (ELEMENT_FAILEDMAILS); for (final FailedMailData aFMD : FailedMailQueueWithDAO.this.getAllFailedMails ()) eRoot.appendChild (MicroTypeConverter.convertToMicroElement (aFMD, ELEMENT_FAILEDMAILDATA)); return aDoc; } }
@Override protected void onExecute (@Nonnull final JobDataMap aJobDataMap, @Nonnull final IJobExecutionContext aContext) throws JobExecutionException { final ICommonsList <FailedMailData> aFailedMails = PhotonCoreManager.getFailedMailQueue ().removeAll (); if (!aFailedMails.isEmpty ()) { LOGGER.info ("Resending " + aFailedMails.size () + " failed mails!"); for (final FailedMailData aFailedMailData : aFailedMails) ScopedMailAPI.getInstance ().queueMail (aFailedMailData.getSMTPSettings (), aFailedMailData.getEmailData ()); } }
@Override protected void onAfterInstantiation (@Nonnull final IScope aScope) { try { m_aSMTPSettingsMgr = new NamedSMTPSettingsManager (SMTP_SETTINGS_XML); m_aFailedMailQueue = new FailedMailQueueWithDAO (FAILED_MAILS_XML); ScopedMailAPI.getInstance ().setFailedMailQueue (m_aFailedMailQueue); m_aGoMappingMgr = new GoMappingManager (GO_XML); m_aWebSiteResourceBundleMgr = new WebSiteResourceBundleManager (WEBSITE_RESOURCE_BUNDLES_XML); LOGGER.info (ClassHelper.getClassLocalName (this) + " was initialized"); } catch (final Throwable t) { throw new InitializationException ("Failed to init " + ClassHelper.getClassLocalName (this), t); } }
@Override @Nullable public FailedMailData remove (@Nullable final String sID) { final FailedMailData ret = super.remove (sID); if (ret != null) { _markAsChanged (); AuditHelper.onAuditExecuteSuccess ("failedmail-remove", sID); } else AuditHelper.onAuditExecuteFailure ("failedmail-remove", sID); return ret; }
@Override @Nonnull protected EChange onRead (@Nonnull final IMicroDocument aDoc) { for (final IMicroElement eFMD : aDoc.getDocumentElement ().getAllChildElements (ELEMENT_FAILEDMAILDATA)) { final FailedMailData aFMD = MicroTypeConverter.convertToNative (eFMD, FailedMailData.class); if (aFMD != null) FailedMailQueueWithDAO.this.add (aFMD, false); } return EChange.UNCHANGED; }
@Override @Nonnull @ReturnsMutableCopy public ICommonsList <FailedMailData> removeAll () { final ICommonsList <FailedMailData> ret = super.removeAll (); if (!ret.isEmpty ()) { _markAsChanged (); AuditHelper.onAuditExecuteSuccess ("failedmail-remove-all", Integer.valueOf (ret.size ())); } return ret; } }