public class MfMailUtility
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
protected boolean |
belongsTo(MboRemote inboundComm,
MboRemote trackEntry)
Checks whether the sender of incoming mail in inboundComm is registered
in the track entry.
|
protected boolean |
belongsTo(java.lang.String fromStr,
java.lang.String listStr)
Checks whether the e-mail address of fromStr belongs to e-mail address
list of listStr
|
protected static void |
checkActionArgForInbound(MboRemote arg,
MXLogger logger)
Check fatal configuration errors If error is detected in this method,
either the system itself or configuration is critically wrong.
|
boolean |
checkAppAuth(InboundCommRemote inboundComm,
MboRemote targetMbo) |
boolean |
checkStatusAuth(InboundCommRemote inboundComm,
MboRemote targetMbo,
UserInfo ui) |
protected MboRemote |
completeInboundMailStatus(MboRemote inboundComm) |
protected java.util.HashSet |
convert2Hash(java.lang.String[] array) |
protected void |
copyFromTemplate(MboRemote commLog,
MboRemote commTemplate,
MboRemote resolve1) |
protected void |
copyFromTemplate(MboRemote commLog,
MboRemote commTemplate,
MboRemote preResolve1,
MboRemote preResolve2,
MboRemote postResolve1,
MboRemote postResolve2)
Copy commTemplate to CommLog with resolving variable against multiple Mbo
|
protected void |
copyFromTemplatePostResolve(MboRemote commLog,
MboRemote commTemplate,
MboRemote resolve1) |
void |
createInboundCommLog(MboRemote inboundComm,
MboRemote targetMbo,
java.util.Date cDate)
creats a commlog entry for inbound mail
|
protected java.lang.String |
createKeyValString(MboRemote targetMbo)
Create string with all key attributes and value of each attribute for better message
|
protected static java.lang.String |
createMailIdentificationString(MboRemote inboundComm)
Create string to point the inbound mail for logging
|
protected java.lang.String |
createStatusList(MboRemote mbo,
java.lang.String status,
UserInfo ui,
java.lang.String prefix,
int deviceClass) |
protected java.lang.String |
createValueList(MboRemote targetMbo,
java.lang.String attribute,
UserInfo ui,
MfMailGlobalInfo gi)
This method creates list of values, if the list from MboValue returns the
MboSet with the attribute and description.
|
protected int |
deviceClassFromExFormat(int exFormat) |
protected java.lang.String |
encodeAddresses(java.lang.String source)
Encode name part of recipient list, when mxe.emai.charset is specified
|
protected java.lang.String |
encodeForMailTo(java.lang.String src) |
protected int |
exFormatFromDevice(int deviceClass,
boolean bHtml) |
protected boolean |
getAppName(InboundCommRemote inboundComm,
java.lang.String mboName)
Find application name for authorization check so that we can conduct
authorization checking
|
protected MfMailAssigneeInfo |
getAssigneeList(WFAssignmentRemote originalAssign) |
protected java.lang.String |
getBodyForParser(MfMailGlobalInfo gi,
java.lang.String originalMsgBody)
Extract name value pair from message body so that the returned string
can be parsed as standard E-mail listener mail
|
static MboRemote |
getCommTemplate(java.lang.String templateId,
UserInfo ui) |
protected int |
getDeviceClassFromUser(UserInfo ui,
MfMailGlobalInfo gi,
int defaultClass) |
protected java.lang.String |
getFirstLine(java.lang.String messageBody) |
protected java.lang.String |
getFirstNum(java.lang.String firstLine) |
java.util.HashSet |
getHashSet(java.lang.String commaSeparatedList) |
MXLogger |
getLogger() |
protected java.lang.String |
getMemos(WFInstanceRemote instance,
UserInfo ui) |
protected java.lang.String |
getNVPairListST(MboRemote targetMbo,
UserInfo ui,
MfMailSTCtrlInfo ci,
MfMailGlobalInfo gi,
java.lang.String secStr,
boolean bMedium)
This method creates the value list for STATUS change scenario
|
protected java.lang.String |
getSecondNum(java.lang.String firstLine) |
protected java.lang.String |
getSecondToken(java.lang.String firstLine) |
protected java.lang.String |
getSecurityString(MboRemote targetMbo,
MboRemote trackEntry,
java.lang.String to) |
protected java.lang.String |
getSecurityString(MboRemote targetMbo,
MboRemote trackEntry,
java.lang.String[] to) |
java.lang.String |
getSenderFromTemplate(MboRemote commTemplate) |
protected static int |
getSplitPos(java.lang.String src,
int lenBytes)
Returns character position to split for the given string and byte length
|
protected java.lang.String |
getStatusDescription(MboRemote targetMbo,
java.lang.String status,
UserInfo ui)
Get description of status for a particular status on target Mbo in the
language of user.
|
protected java.lang.String |
getStatusLinkList(MboRemote targetMbo,
java.lang.String status,
java.lang.String subj,
java.lang.String sender,
java.lang.String secStr,
MfMailSTCtrlInfo ci,
UserInfo ui,
MfMailGlobalInfo gi)
Create list of status as mailto: URLs in anchor tag.
|
protected java.lang.String |
getSupplementInfo(MboRemote targetMbo,
java.lang.String attr,
java.util.HashSet keySet,
MfMailGlobalInfo gi,
UserInfo ui)
Provide supplemental information, such as read only, list of values, etc.
|
protected java.lang.String |
getSystemLineMarker(MfMailGlobalInfo gi,
UserInfo ui)
Retrieve marker for system line
|
protected java.lang.String |
getThirdToken(java.lang.String firstLine) |
protected UserInfo |
getUserFromMail(java.lang.String mailAddr)
Get UserInfo of maximo user from mail address
|
protected UserInfo |
getUserInfoForPerson(java.lang.String personId)
Return UserInfo for specified PERSONID, if there is a MAXUSER for that
person
|
protected boolean |
htmlFromExFormat(int exFormat) |
protected java.lang.String |
insertGuidanceST(java.lang.String message,
int deviceClass,
UserInfo ui,
MfMailGlobalInfo gi) |
protected java.lang.String |
insertGuidanceWF(java.lang.String message,
int deviceClass,
UserInfo ui,
MfMailGlobalInfo gi) |
protected java.lang.String |
insertTaskList(java.lang.String message,
MboRemote targetMbo,
UserInfo ui)
Insert list of tasks for WORKORDER, if special variable is used in the
body
|
protected boolean |
isActiveAssignment(WFAssignment assign)
Check if WFAssignment is active or not
|
boolean |
isKeyAttribute(java.lang.String[] keys,
java.lang.String attribute) |
boolean |
isMailHTML() |
void |
logMailInfo(MboRemote inboundComm)
Log information about the inboundcomm to identify the mail caused the error.
|
static void |
logMailInfo(MXLogger pLogger,
MboRemote inboundComm) |
protected static MboRemote |
markErrorOnInboundMailStatus(MXLogger logger,
MboRemote inboundComm,
java.lang.String message) |
protected java.lang.String |
mergeAddr(java.lang.String[] list1,
java.lang.String list2) |
protected java.lang.String |
mergeAddr(java.lang.String list1,
java.lang.String list2)
Merge two address lists into one.
|
protected java.lang.String |
mergeAddr(java.lang.String list1,
java.lang.String list2,
java.lang.String list3)
Merge three address lists into one
|
protected void |
multiAdd(java.lang.StringBuffer result,
java.lang.String src,
java.lang.String assist,
java.lang.String lineSeparator,
MfMailGlobalInfo gi) |
protected void |
recordErrorInTrackEntry(MboRemote trackEntry)
Record error status in Maximo for Email Tracking Table
|
void |
sendErrorMail(MboRemote inboundComm,
java.lang.String template)
Method to Send Error notification mail This method is used from
MfMailSendErrorReply class
|
void |
sendErrorMailToAdmin(java.lang.String errMsg,
java.lang.String template)
Send Mail to administrator to notify admin action is needed.
|
void |
sendSTReplyMailVerySmall(MboRemote inboundComm,
MboRemote commTemplate,
MboRemote targetMbo,
MboRemote trackEntry,
UserInfo ui,
java.lang.String valueList,
int deviceClass)
Send reply mail for status scenario with very small device
|
void |
sendWFNotifyMail(MboRemote track,
MboRemote tempTargetMbo,
MfMailWFCtrlInfo wc)
This method send notification mail when work flow assignment has
completed by different user by mail.
|
void |
setLogger(MXLogger logger) |
protected java.lang.String |
trimLine(java.lang.String src,
MfMailGlobalInfo gi) |
protected static void checkActionArgForInbound(MboRemote arg, MXLogger logger) throws java.rmi.RemoteException, MXException
arg
- logger
- java.rmi.RemoteException
MXException
protected java.lang.String createStatusList(MboRemote mbo, java.lang.String status, UserInfo ui, java.lang.String prefix, int deviceClass) throws java.rmi.RemoteException, MXException
mbo
- status
- : Status to be used as base.
List will include status that can be changed from this statusui
- prefix
- : Prefix string to be used in the status list. Can be null or nullstringdeviceClass
- : Device class for which list to be createdjava.rmi.RemoteException
MXException
protected java.lang.String getStatusLinkList(MboRemote targetMbo, java.lang.String status, java.lang.String subj, java.lang.String sender, java.lang.String secStr, MfMailSTCtrlInfo ci, UserInfo ui, MfMailGlobalInfo gi) throws java.rmi.RemoteException, MXException
targetMbo
- status
- : Status to be used as base.
List will include status that can be changed from this statussubj
- : Original subject of incoming mailsender
- : Sender of the mail. Used as TO in the mailtosecStr
- ci
- ui
- gi
- java.rmi.RemoteException
MXException
protected java.lang.String createValueList(MboRemote targetMbo, java.lang.String attribute, UserInfo ui, MfMailGlobalInfo gi) throws java.rmi.RemoteException, MXException
targetMbo
- : MBO from which attribute is retrievedattribute
- : The name of attributeui
- gi
- java.rmi.RemoteException
MXException
protected java.lang.String getStatusDescription(MboRemote targetMbo, java.lang.String status, UserInfo ui) throws java.rmi.RemoteException, MXException
targetMbo
- status
- ui
- java.rmi.RemoteException
MXException
protected java.lang.String getSupplementInfo(MboRemote targetMbo, java.lang.String attr, java.util.HashSet keySet, MfMailGlobalInfo gi, UserInfo ui) throws MXException, java.rmi.RemoteException
targetMbo
- attr
- : Attribute to generate supplemental informationkeySet
- gi
- ui
- MXException
java.rmi.RemoteException
protected java.lang.String getSystemLineMarker(MfMailGlobalInfo gi, UserInfo ui) throws java.rmi.RemoteException, MXException
gi
- ui
- java.rmi.RemoteException
MXException
protected java.lang.String getSecurityString(MboRemote targetMbo, MboRemote trackEntry, java.lang.String to) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected java.lang.String getSecurityString(MboRemote targetMbo, MboRemote trackEntry, java.lang.String[] to) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
public void sendSTReplyMailVerySmall(MboRemote inboundComm, MboRemote commTemplate, MboRemote targetMbo, MboRemote trackEntry, UserInfo ui, java.lang.String valueList, int deviceClass) throws java.rmi.RemoteException, MXException
inboundComm
- commTemplate
- targetMbo
- trackEntry
- ui
- valueList
- objKeys
- deviceClass
- java.rmi.RemoteException
MXException
public void sendWFNotifyMail(MboRemote track, MboRemote tempTargetMbo, MfMailWFCtrlInfo wc) throws java.rmi.RemoteException, MXException
track
- tempTargetMbo
- wc
- java.rmi.RemoteException
MXException
public void sendErrorMail(MboRemote inboundComm, java.lang.String template) throws java.rmi.RemoteException, MXException
inboundComm
- template
- java.rmi.RemoteException
MXException
public static MboRemote getCommTemplate(java.lang.String templateId, UserInfo ui) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected java.lang.String createKeyValString(MboRemote targetMbo) throws java.rmi.RemoteException, MXException
targetMbo
- java.rmi.RemoteException
MXException
protected static java.lang.String createMailIdentificationString(MboRemote inboundComm)
inboundComm
- public void logMailInfo(MboRemote inboundComm) throws java.rmi.RemoteException, MXException
inboundComm
- java.rmi.RemoteException
MXException
public static void logMailInfo(MXLogger pLogger, MboRemote inboundComm) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
public void sendErrorMailToAdmin(java.lang.String errMsg, java.lang.String template) throws java.rmi.RemoteException, MXException
errMsg
- : message texttemplate
- : communication templatejava.rmi.RemoteException
MXException
protected java.lang.String insertTaskList(java.lang.String message, MboRemote targetMbo, UserInfo ui) throws java.rmi.RemoteException, MXException
message
- targetMbo
- , this must be instance of WORKORDERjava.rmi.RemoteException
MXException
protected java.lang.String insertGuidanceST(java.lang.String message, int deviceClass, UserInfo ui, MfMailGlobalInfo gi) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected java.lang.String insertGuidanceWF(java.lang.String message, int deviceClass, UserInfo ui, MfMailGlobalInfo gi) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected int exFormatFromDevice(int deviceClass, boolean bHtml)
protected int deviceClassFromExFormat(int exFormat)
protected boolean htmlFromExFormat(int exFormat)
public void createInboundCommLog(MboRemote inboundComm, MboRemote targetMbo, java.util.Date cDate) throws MXException, java.rmi.RemoteException
inboundComm
- targetMbo
- templateName
- MXException
java.rmi.RemoteException
protected UserInfo getUserInfoForPerson(java.lang.String personId) throws java.rmi.RemoteException, MXException
personId
- MXException
java.rmi.RemoteException
java.lang.Exception
protected int getDeviceClassFromUser(UserInfo ui, MfMailGlobalInfo gi, int defaultClass) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected UserInfo getUserFromMail(java.lang.String mailAddr) throws java.rmi.RemoteException, MXException
mailAddr
- java.rmi.RemoteException
MXException
protected MboRemote completeInboundMailStatus(MboRemote inboundComm) throws MXApplicationException
inboundComm
- MXApplicationException
protected static MboRemote markErrorOnInboundMailStatus(MXLogger logger, MboRemote inboundComm, java.lang.String message) throws MXApplicationException
inboundComm
- MXApplicationException
protected void recordErrorInTrackEntry(MboRemote trackEntry) throws java.rmi.RemoteException, MXException
trackEntry
- java.rmi.RemoteException
MXException
protected boolean isActiveAssignment(WFAssignment assign) throws java.rmi.RemoteException, MXException
assign
- java.rmi.RemoteException
MXException
public boolean isKeyAttribute(java.lang.String[] keys, java.lang.String attribute)
protected java.lang.String getNVPairListST(MboRemote targetMbo, UserInfo ui, MfMailSTCtrlInfo ci, MfMailGlobalInfo gi, java.lang.String secStr, boolean bMedium) throws java.rmi.RemoteException, MXException
targetMbo
- : MBO from which attribute values are retrievedui
- : User Info to get description and values in this user's
languageci
- gi
- java.rmi.RemoteException
MXException
protected void copyFromTemplate(MboRemote commLog, MboRemote commTemplate, MboRemote resolve1) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
protected void copyFromTemplatePostResolve(MboRemote commLog, MboRemote commTemplate, MboRemote resolve1) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
protected void copyFromTemplate(MboRemote commLog, MboRemote commTemplate, MboRemote preResolve1, MboRemote preResolve2, MboRemote postResolve1, MboRemote postResolve2) throws MXException, java.rmi.RemoteException
commLog
- commTemplate
- preResolve1
- preResolve2
- postResolve1
- postResolve2
- MXException
java.rmi.RemoteException
protected MfMailAssigneeInfo getAssigneeList(WFAssignmentRemote originalAssign) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected boolean getAppName(InboundCommRemote inboundComm, java.lang.String mboName) throws java.rmi.RemoteException, MXException
inboundComm
- mboName
- java.rmi.RemoteException
MXException
protected java.lang.String getMemos(WFInstanceRemote instance, UserInfo ui) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected java.lang.String getBodyForParser(MfMailGlobalInfo gi, java.lang.String originalMsgBody) throws java.rmi.RemoteException, MXException
gi
- originalMsgBody
- java.rmi.RemoteException
MXException
protected java.lang.String getFirstLine(java.lang.String messageBody)
protected java.lang.String getFirstNum(java.lang.String firstLine)
protected java.lang.String getSecondNum(java.lang.String firstLine)
protected java.lang.String getSecondToken(java.lang.String firstLine)
protected java.lang.String getThirdToken(java.lang.String firstLine)
protected java.lang.String mergeAddr(java.lang.String list1, java.lang.String list2, java.lang.String list3)
list1
- list2
- list3
- protected java.lang.String mergeAddr(java.lang.String list1, java.lang.String list2)
list1
- list2
- protected java.lang.String mergeAddr(java.lang.String[] list1, java.lang.String list2)
protected boolean belongsTo(MboRemote inboundComm, MboRemote trackEntry) throws MXApplicationException
inboundComm
- trackEntry
- MXApplicationException
protected boolean belongsTo(java.lang.String fromStr, java.lang.String listStr) throws MXApplicationException
fromStr
- listStr
- MXApplicationException
protected java.lang.String encodeAddresses(java.lang.String source) throws MXException
source
- MXException
public java.util.HashSet getHashSet(java.lang.String commaSeparatedList)
protected java.util.HashSet convert2Hash(java.lang.String[] array)
protected void multiAdd(java.lang.StringBuffer result, java.lang.String src, java.lang.String assist, java.lang.String lineSeparator, MfMailGlobalInfo gi)
protected java.lang.String trimLine(java.lang.String src, MfMailGlobalInfo gi)
protected static int getSplitPos(java.lang.String src, int lenBytes)
src
- : source stringlenBytes
- : limit length in bytespublic java.lang.String getSenderFromTemplate(MboRemote commTemplate) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected java.lang.String encodeForMailTo(java.lang.String src) throws java.rmi.RemoteException
java.rmi.RemoteException
public MXLogger getLogger()
public void setLogger(MXLogger logger)
public boolean isMailHTML() throws java.rmi.RemoteException
java.rmi.RemoteException
public boolean checkAppAuth(InboundCommRemote inboundComm, MboRemote targetMbo) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public boolean checkStatusAuth(InboundCommRemote inboundComm, MboRemote targetMbo, UserInfo ui) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException