Author: sichen
Date: Mon Feb 12 09:33:09 2007 New Revision: 506544 URL: http://svn.apache.org/viewvc?view=rev&rev=506544 Log: OFBIZ-704: Add CommunicationEvent.fromString, toString, ccString, headerString Adding these four fields and logic to populate them from email headers in storeIncomingEmail service Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java ofbiz/trunk/applications/party/entitydef/entitymodel.xml Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java?view=diff&rev=506544&r1=506543&r2=506544 ============================================================================== --- ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java (original) +++ ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java Mon Feb 12 09:33:09 2007 @@ -22,14 +22,7 @@ import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopFactory; import org.apache.fop.apps.MimeConstants; -import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.HttpClient; -import org.ofbiz.base.util.HttpClientException; -import org.ofbiz.base.util.UtilDateTime; -import org.ofbiz.base.util.UtilMisc; -import org.ofbiz.base.util.UtilProperties; -import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.base.util.*; import org.ofbiz.base.util.collections.MapStack; import org.ofbiz.base.util.string.FlexibleStringExpander; import org.ofbiz.entity.GenericDelegator; @@ -56,14 +49,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Properties; +import java.util.*; import javax.activation.DataHandler; import javax.activation.DataSource; @@ -831,6 +817,27 @@ commEventMap = addMessageBody(commEventMap, (Multipart) message.getContent()); } + // Retrieve all the addresses from the email + Set emailAddressesFrom = new TreeSet(); + Set emailAddressesTo = new TreeSet(); + Set emailAddressesCC = new TreeSet(); + for (int x = 0 ; x < addressesFrom.length ; x++) { + emailAddressesFrom.add(((InternetAddress) addressesFrom[x]).getAddress()); + } + for (int x = 0 ; x < addressesTo.length ; x++) { + emailAddressesTo.add(((InternetAddress) addressesTo[x]).getAddress()); + } + for (int x = 0 ; x < addressesCC.length ; x++) { + emailAddressesCC.add(((InternetAddress) addressesCC[x]).getAddress()); + } + String fromString = StringUtil.join(UtilMisc.toList(emailAddressesFrom), ","); + String toString = StringUtil.join(UtilMisc.toList(emailAddressesTo), ","); + String ccString = StringUtil.join(UtilMisc.toList(emailAddressesCC), ","); + + if (UtilValidate.isNotEmpty(toString)) commEventMap.put("toString", toString); + if (UtilValidate.isNotEmpty(ccString)) commEventMap.put("ccString", ccString); + if (UtilValidate.isNotEmpty(ccString)) commEventMap.put("fromString", fromString); + // store from/to parties, but when not found make a note of the email to/from address in the workEffort Note Section. String commNote = ""; if (partyIdFrom != null) { @@ -865,6 +872,16 @@ } commEventMap.put("userLogin", userLogin); + + // Populate the CommunicationEvent.headerString field with the email headers + String headerString = ""; + Enumeration headerLines = message.getAllHeaderLines(); + while (headerLines.hasMoreElements()) { + headerString += System.getProperty("line.separator"); + headerString += headerLines.nextElement(); + } + commEventMap.put("headerString", headerString); + result = dispatcher.runSync("createCommunicationEvent", commEventMap); communicationEventId = (String)result.get("communicationEventId"); Modified: ofbiz/trunk/applications/party/entitydef/entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/entitydef/entitymodel.xml?view=diff&rev=506544&r1=506543&r2=506544 ============================================================================== --- ofbiz/trunk/applications/party/entitydef/entitymodel.xml (original) +++ ofbiz/trunk/applications/party/entitydef/entitymodel.xml Mon Feb 12 09:33:09 2007 @@ -509,6 +509,10 @@ <field name="content" type="very-long"></field> <field name="note" type="comment"></field> <field name="contactListId" type="id"></field> + <field name="headerString" type="very-long"></field> + <field name="fromString" type="very-long"></field> + <field name="toString" type="very-long"></field> + <field name="ccString" type="very-long"></field> <prim-key field="communicationEventId"/> <relation type="one" fk-name="COM_EVNT_TYPE" rel-entity-name="CommunicationEventType"> <key-map field-name="communicationEventTypeId"/> |
Free forum by Nabble | Edit this page |