Package org.compiere.process
Class RequestEMailProcessor
- java.lang.Object
-
- org.compiere.process.SvrProcess
-
- org.compiere.process.RequestEMailProcessor
-
- All Implemented Interfaces:
ProcessCall,EmailSrv.ProcessEmailHandle
public class RequestEMailProcessor extends SvrProcess implements EmailSrv.ProcessEmailHandle
Request Email Processor- Version:
- $Id: RequestEMailProcessor.java,v 1.2 2006/10/23 06:01:20 cruiz Exp $ hieplq:separate email process to other class for easy re-use and do IDEMPIERE-2244 IMAPHost format: {imap|imaps}://[IMAPHostURL]:[Port] example: imaps://imap.gmail.com:993
- Author:
- Carlos Ruiz based on initial work by Jorg Janke - sponsored by DigitalArmour
-
-
Field Summary
Fields Modifier and Type Field Description protected intAD_Role_IDprotected intAD_User_IDprotected intC_BPartner_IDprotected static intERRORProcess Errorprotected javax.mail.FoldererrorFolderprotected BooleanisSSLprotected List<javax.mail.Folder>lsFolderProcessprotected javax.mail.Sessionm_sessionSessionprotected javax.mail.Storem_storeStoreprotected intnoErrorprotected intnoProcessedprotected intnoRequestprotected Stringp_DefaultConfidentialityprotected Stringp_DefaultPriorityprotected Stringp_ErrorFolderprotected Stringp_HTMLAttachmentTypeprotected Stringp_IMAPHostprotected intp_IMAPPortprotected Stringp_IMAPPwdprotected Stringp_IMAPUserprotected Stringp_InboxFolderprotected Booleanp_NestInboxprotected Stringp_RequestFolderprotected intR_RequestType_IDprotected static intREQUESTProcess Requestprotected javax.mail.FolderrequestFolderprotected intSalesRep_ID-
Fields inherited from class org.compiere.process.SvrProcess
log, MSG_InvalidArguments, MSG_SaveErrorRowNotFound, PROCESS_INFO_CTX_KEY, PROCESS_UI_CTX_KEY, processUI
-
-
Constructor Summary
Constructors Constructor Description RequestEMailProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckEmailHeader(EmailSrv.EmailContent emailHeader, javax.mail.Message emailRaw)after read header of email (from, subject, message_id,...), will call this function to evaluate will continue process or cancel this email at this time, in EmailInfo just has header info, content and attach is not manipulateprotected voidcheckInputParameter(EmailSrv emailSrv)protected voidcreateRequest(EmailSrv.EmailContent emailContent, String trxName)Create requestprotected StringdoIt()Perform process.List<javax.mail.Folder>getListFolder()List all folder use when process message this function make handle close folder and close session can reopen it.protected voidparseParameter()protected voidprepare()Prepare - e.g., get Parameters.voidprocessEmailContent(EmailSrv.EmailContent emailHeader, javax.mail.Message emailRaw, javax.mail.Store mailStore, javax.mail.Folder mailFolder)main where to process email. this time, every email info is manipulate to emailContentvoidprocessEmailError(EmailSrv.EmailContent emailHeader, javax.mail.Message emailRaw, javax.mail.Store mailStore, javax.mail.Folder mailFolder)when read email for process, after some time try when has error, will call this function to ensure this email is can't processprotected voidupdateRequest(int request_upd, EmailSrv.EmailContent emailContent, String trxName)-
Methods inherited from class org.compiere.process.SvrProcess
addBufferLog, addLog, addLog, addLog, commit, commitEx, doIt, get_TrxName, getAD_Client_ID, getAD_PInstance_ID, getAD_User_ID, getCtx, getName, getParameter, getProcessInfo, getRecord_ID, getRecord_IDs, getTable_ID, isLocked, lockObject, postProcess, rollback, setProcessUI, startProcess, statusUpdate, unlockObject
-
-
-
-
Field Detail
-
p_IMAPHost
protected String p_IMAPHost
-
p_IMAPPort
protected int p_IMAPPort
-
p_IMAPUser
protected String p_IMAPUser
-
p_IMAPPwd
protected String p_IMAPPwd
-
p_RequestFolder
protected String p_RequestFolder
-
p_InboxFolder
protected String p_InboxFolder
-
p_NestInbox
protected Boolean p_NestInbox
-
p_ErrorFolder
protected String p_ErrorFolder
-
isSSL
protected Boolean isSSL
-
C_BPartner_ID
protected int C_BPartner_ID
-
AD_User_ID
protected int AD_User_ID
-
AD_Role_ID
protected int AD_Role_ID
-
SalesRep_ID
protected int SalesRep_ID
-
R_RequestType_ID
protected int R_RequestType_ID
-
p_DefaultPriority
protected String p_DefaultPriority
-
p_DefaultConfidentiality
protected String p_DefaultConfidentiality
-
p_HTMLAttachmentType
protected String p_HTMLAttachmentType
-
noProcessed
protected int noProcessed
-
noRequest
protected int noRequest
-
noError
protected int noError
-
m_session
protected javax.mail.Session m_session
Session
-
m_store
protected javax.mail.Store m_store
Store
-
ERROR
protected static final int ERROR
Process Error- See Also:
- Constant Field Values
-
REQUEST
protected static final int REQUEST
Process Request- See Also:
- Constant Field Values
-
errorFolder
protected javax.mail.Folder errorFolder
-
requestFolder
protected javax.mail.Folder requestFolder
-
lsFolderProcess
protected List<javax.mail.Folder> lsFolderProcess
-
-
Method Detail
-
prepare
protected void prepare()
Prepare - e.g., get Parameters.- Specified by:
preparein classSvrProcess
-
doIt
protected String doIt() throws Exception
Perform process.- Specified by:
doItin classSvrProcess- Returns:
- Message (clear text)
- Throws:
Exception- if not successful
-
parseParameter
protected void parseParameter()
-
checkInputParameter
protected void checkInputParameter(EmailSrv emailSrv) throws javax.mail.MessagingException, Exception
- Throws:
javax.mail.MessagingExceptionException
-
checkEmailHeader
public boolean checkEmailHeader(EmailSrv.EmailContent emailHeader, javax.mail.Message emailRaw) throws javax.mail.MessagingException
Description copied from interface:EmailSrv.ProcessEmailHandleafter read header of email (from, subject, message_id,...), will call this function to evaluate will continue process or cancel this email at this time, in EmailInfo just has header info, content and attach is not manipulate- Specified by:
checkEmailHeaderin interfaceEmailSrv.ProcessEmailHandle- Returns:
- Throws:
javax.mail.MessagingException
-
processEmailContent
public void processEmailContent(EmailSrv.EmailContent emailHeader, javax.mail.Message emailRaw, javax.mail.Store mailStore, javax.mail.Folder mailFolder) throws javax.mail.MessagingException, IOException
Description copied from interface:EmailSrv.ProcessEmailHandlemain where to process email. this time, every email info is manipulate to emailContent- Specified by:
processEmailContentin interfaceEmailSrv.ProcessEmailHandle- Throws:
javax.mail.MessagingExceptionIOException
-
createRequest
protected void createRequest(EmailSrv.EmailContent emailContent, String trxName) throws Exception
Create request- Parameters:
emailContent-trxName-- Throws:
Exception
-
updateRequest
protected void updateRequest(int request_upd, EmailSrv.EmailContent emailContent, String trxName) throws javax.mail.MessagingException, SQLException- Throws:
javax.mail.MessagingExceptionSQLException
-
processEmailError
public void processEmailError(EmailSrv.EmailContent emailHeader, javax.mail.Message emailRaw, javax.mail.Store mailStore, javax.mail.Folder mailFolder) throws javax.mail.MessagingException
Description copied from interface:EmailSrv.ProcessEmailHandlewhen read email for process, after some time try when has error, will call this function to ensure this email is can't process- Specified by:
processEmailErrorin interfaceEmailSrv.ProcessEmailHandle- Throws:
javax.mail.MessagingException
-
getListFolder
public List<javax.mail.Folder> getListFolder()
Description copied from interface:EmailSrv.ProcessEmailHandleList all folder use when process message this function make handle close folder and close session can reopen it.- Specified by:
getListFolderin interfaceEmailSrv.ProcessEmailHandle- Returns:
-
-