Author: hansbak
Date: Fri Oct 13 23:21:35 2006
New Revision: 463894

URL: http://svn.apache.org/viewvc?view=rev&rev=463894
Log:
rearrange the order of execution in email services

Modified:
    
incubator/ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java

Modified: 
incubator/ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java?view=diff&rev=463894&r1=463893&r2=463894
==============================================================================
--- 
incubator/ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java
 (original)
+++ 
incubator/ofbiz/trunk/applications/content/src/org/ofbiz/content/email/EmailServices.java
 Fri Oct 13 23:21:35 2006
@@ -720,21 +720,16 @@
                 Debug.logInfo("Incoming Email message ignored, had not 'from' 
email address", module);
                 return ServiceUtil.returnSuccess(" Message Ignored: no 'From' 
address specified");
             }
-            
-            result = getParyInfoFromEmailAddress(addressesFrom, userLogin, 
dispatcher);
-            partyIdFrom = (String)result.get("partyId");
-            contactMechIdFrom = (String)result.get("contactMechId");
-            
+
+            // get the 'To' partyId
             List allResults = getListOfParyInfoFromEmailAddresses(addressesTo, 
addressesCC, addressesBCC, userLogin, dispatcher);
             Iterator itr = allResults.iterator();
-            
             //Get the first address from the list - this is the partyIdTo 
field of the CommunicationEvent
             if ((allResults != null) && (allResults.size() > 0)) {
                 Map firstAddressTo = (Map) itr.next();
                 partyIdTo = (String)firstAddressTo.get("partyId");
                 contactMechIdTo = (String)firstAddressTo.get("contactMechId");
             }
-            
             // if partyIdTo not found try to find the "to" address using the 
delivered-to header
             String deliveredTo = message.getHeader("Delivered-To")[0];
             // check if started with the domain name if yes remove including 
the dash.
@@ -747,7 +742,17 @@
                 partyIdTo = (String)result.get("partyId");
                 contactMechIdTo = (String)result.get("contactMechId");
             }
-
+               if (userLogin.get("partyId") == null && partyIdTo != null) { 
+                   int ch = 0;
+                   for (ch=partyIdTo.length(); ch > 0 && 
Character.isDigit(partyIdTo.charAt(ch-1)); ch--);
+                   userLogin.put("partyId", partyIdTo.substring(0,ch)); 
//allow services to be called to have prefix
+               }
+            
+            // get the 'from' partyId
+            result = getParyInfoFromEmailAddress(addressesFrom, userLogin, 
dispatcher);
+            partyIdFrom = (String)result.get("partyId");
+            contactMechIdFrom = (String)result.get("contactMechId");
+            
             Map commEventMap = new HashMap();
            commEventMap.put("communicationEventTypeId", "AUTO_EMAIL_COMM");
            commEventMap.put("contactMechTypeId", "EMAIL_ADDRESS");
@@ -831,12 +836,6 @@
                communicationEventId = 
(String)result.get("communicationEventId");
             
                // 'system' Id has no partyId but needed for prefix generation 
of the creation of related contentId and dataresourceId.
-               if (userLogin.get("partyId") == null) { 
-                   int ch = 0;
-                   for (ch=communicationEventId.length(); ch > 0 && 
Character.isDigit(communicationEventId.charAt(ch-1)); ch--);
-                   userLogin.put("partyId", 
communicationEventId.substring(0,ch)); //allow services to be called to have 
prefix
-               }
-            
             // store attachements
                if (contentType.startsWith("multipart") || 
contentType.startsWith("Multipart")) {
                        int attachmentCount = 
EmailWorker.addAttachmentsToCommEvent(message, communicationEventId, 
contentIndex, dispatcher, userLogin);


Reply via email to