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 int
AD_Role_ID
protected int
AD_User_ID
protected int
C_BPartner_ID
protected static int
ERROR
Process Errorprotected javax.mail.Folder
errorFolder
protected Boolean
isSSL
protected List<javax.mail.Folder>
lsFolderProcess
protected javax.mail.Session
m_session
Sessionprotected javax.mail.Store
m_store
Storeprotected int
noError
protected int
noProcessed
protected int
noRequest
protected String
p_DefaultConfidentiality
protected String
p_DefaultPriority
protected String
p_ErrorFolder
protected String
p_HTMLAttachmentType
protected String
p_IMAPHost
protected int
p_IMAPPort
protected String
p_IMAPPwd
protected String
p_IMAPUser
protected String
p_InboxFolder
protected Boolean
p_NestInbox
protected String
p_RequestFolder
protected int
R_RequestType_ID
protected static int
REQUEST
Process Requestprotected javax.mail.Folder
requestFolder
protected int
SalesRep_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 boolean
checkEmailHeader(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 void
checkInputParameter(EmailSrv emailSrv)
protected void
createRequest(EmailSrv.EmailContent emailContent, String trxName)
Create requestprotected String
doIt()
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 void
parseParameter()
protected void
prepare()
Prepare - e.g., get Parameters.void
processEmailContent(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 emailContentvoid
processEmailError(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 void
updateRequest(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:
prepare
in classSvrProcess
-
doIt
protected String doIt() throws Exception
Perform process.- Specified by:
doIt
in 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.MessagingException
Exception
-
checkEmailHeader
public boolean checkEmailHeader(EmailSrv.EmailContent emailHeader, javax.mail.Message emailRaw) throws javax.mail.MessagingException
Description copied from interface:EmailSrv.ProcessEmailHandle
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 manipulate- Specified by:
checkEmailHeader
in 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.ProcessEmailHandle
main where to process email. this time, every email info is manipulate to emailContent- Specified by:
processEmailContent
in interfaceEmailSrv.ProcessEmailHandle
- Throws:
javax.mail.MessagingException
IOException
-
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.MessagingException
SQLException
-
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.ProcessEmailHandle
when 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:
processEmailError
in interfaceEmailSrv.ProcessEmailHandle
- Throws:
javax.mail.MessagingException
-
getListFolder
public List<javax.mail.Folder> getListFolder()
Description copied from interface:EmailSrv.ProcessEmailHandle
List all folder use when process message this function make handle close folder and close session can reopen it.- Specified by:
getListFolder
in interfaceEmailSrv.ProcessEmailHandle
- Returns:
-
-