Author: jonesde
Date: Mon Oct 16 11:07:58 2006
New Revision: 464599

URL: http://svn.apache.org/viewvc?view=rev&rev=464599
Log:
Some more cleanups of the PartyContactMech related services; also removed ECAs 
that are redundant once this is done in a cleaner and more correct way; note 
that there is a lot of crap in there with weird dependencies and some other 
errors may be found (some changes here are based on that happening before), so 
there may be other changes needed in this area

Modified:
    
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechMapProcs.xml
    
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechMapProcs.xml
    
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml
    incubator/ofbiz/trunk/applications/party/servicedef/secas.xml
    
incubator/ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java

Modified: 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechMapProcs.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechMapProcs.xml?view=diff&rev=464599&r1=464598&r2=464599
==============================================================================
--- 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechMapProcs.xml
 (original)
+++ 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechMapProcs.xml
 Mon Oct 16 11:07:58 2006
@@ -18,38 +18,6 @@
 <simple-map-processors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
         
xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/simple-methods.xsd";>
     <!-- ContactMech map procs -->
-    <simple-map-processor name="contactMech">
-        <process field="contactMechTypeId"><copy/><not-empty><fail-property 
resource="PartyUiLabels" 
property="PartyContactMechTypeIdMissing"/></not-empty></process>
-        <process field="infoString"><copy/></process>
-    </simple-map-processor>
-    <simple-map-processor name="updateContactMech">
-        <process field="contactMechId"><copy/><not-empty><fail-property 
resource="PartyUiLabels" 
property="PartyContactMechIdMissing"/></not-empty></process>
-        <process field="contactMechTypeId"><copy/></process>
-        <process field="infoString"><copy/></process> 
-    </simple-map-processor>
-
-    <simple-map-processor name="postalAddress">
-        <process field="contactMechId"><copy set-if-null="false"/></process>
-        <process field="toName"><copy/></process>
-        <process field="attnName"><copy/></process>
-        <process field="address1"><copy/><not-empty><fail-property 
resource="PartyUiLabels" 
property="PartyAddressLine1Missing"/></not-empty></process>
-        <process field="address2"><copy/></process>
-        <process field="directions"><copy/></process>
-        <process field="city"><copy/><not-empty><fail-property 
resource="PartyUiLabels" property="PartyCityMissing"/></not-empty></process>
-        <process field="stateProvinceGeoId"><copy/></process>
-        <process field="postalCode"><copy/><not-empty><fail-property 
resource="PartyUiLabels" 
property="PartyPostalCodeMissing"/></not-empty></process>
-        <process field="postalCodeExt"><copy/></process>
-        <process field="countryGeoId"><copy/></process>
-        <process field="postalCodeGeoId"><copy/></process>
-    </simple-map-processor>
-
-    <simple-map-processor name="telecomNumber">
-        <process field="contactMechId"><copy set-if-null="false"/></process>
-        <process field="countryCode"><copy/></process>
-        <process field="areaCode"><copy/></process>
-        <process field="askForName"><copy/></process>
-        <process field="contactNumber"><copy/><not-empty><fail-property 
resource="PartyUiLabels" 
property="PartyContactNumberMissing"/></not-empty></process>
-    </simple-map-processor>
 
     <simple-map-processor name="emailAddress">
         <process field="contactMechId"><copy set-if-null="false"/></process>

Modified: 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechMapProcs.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechMapProcs.xml?view=diff&rev=464599&r1=464598&r2=464599
==============================================================================
--- 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechMapProcs.xml
 (original)
+++ 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechMapProcs.xml
 Mon Oct 16 11:07:58 2006
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!--
-
 Copyright 2001-2006 The Apache Software Foundation
 
 Licensed under the Apache License, Version 2.0 (the "License"); you may not
@@ -48,16 +47,6 @@
         <process field="allowSolicitation"><copy/></process>
     </simple-map-processor>
 
-    <simple-map-processor name="emailAddress">
-       <process field="contactMechId"><copy set-if-null="false"/></process>
-        <process field="partyId"><copy/></process>
-        <process field="emailAddress">
-            <copy to-field="infoString"/>
-            <not-empty><fail-property resource="PartyUiLabels" 
property="PartyEmailAddressMissing"/></not-empty>
-            <validate-method method="isEmail"><fail-property 
resource="PartyUiLabels" 
property="PartyEmailAddressNotFormattedCorrectly"/></validate-method></process>
-        <process field="allowSolicitation"><copy/></process>
-    </simple-map-processor>
-
     <!-- PartyContactMechPurpose map procs -->
     <simple-map-processor name="createPartyContactMechPurpose">
         <process field="partyId"><copy/></process>
@@ -72,6 +61,4 @@
             <not-empty><fail-property resource="PartyUiLabels" 
property="CommonFromDateMissing"/></not-empty>
             <convert type="Timestamp"><fail-property resource="PartyUiLabels" 
property="CommonFromDateNotValidDateTime"/></convert></process>
     </simple-map-processor>
-  
-   <!-- PartyContactMech -->
 </simple-map-processors>

Modified: 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml?view=diff&rev=464599&r1=464598&r2=464599
==============================================================================
--- 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml
 (original)
+++ 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml
 Mon Oct 16 11:07:58 2006
@@ -19,8 +19,6 @@
 <simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/simple-methods.xsd";>
     <simple-method method-name="createPartyContactMech" 
short-description="Create a PartyContactMech">
-        <log level="always" message="In createPartyContactMech parameters: 
${parameters}"/>
-        
         <make-value entity-name="PartyContactMech" value-name="newValue"/>
         <make-value entity-name="PartyContactMech" 
value-name="newPartyContactMech"/><!-- DEJ20061016: is this really needed? 
doesn't seem to be used... -->
         <if-empty map-name="parameters" field-name="partyId">
@@ -34,9 +32,8 @@
         <check-errors/>
         
         <if-empty map-name="parameters" field-name="contactMechId">
-            <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="contactMech" in-map-name="parameters" 
out-map-name="context"/>
-            <call-service service-name="createContactMech" 
in-map-name="context">
+            <set-service-fields service-name="createContactMech" 
map-name="parameters" to-map-name="createContactMechMap"/>
+            <call-service service-name="createContactMech" 
in-map-name="createContactMechMap">
                 <result-to-field result-name="contactMechId" 
map-name="newValue"/>
             </call-service>    
             <log level="info" message="ContactMech created"/>    
@@ -54,8 +51,6 @@
     </simple-method>
     
     <simple-method method-name="updatePartyContactMech" 
short-description="Update a PartyContactMech">
-        <log level="always" message="In updatePartyContactMech parameters: 
${parameters}"/>
-        
         <make-value entity-name="PartyContactMech" 
value-name="newPartyContactMech"/>
         <if-empty map-name="parameters" field-name="partyId">
             <set field="parameters.partyId" from-field="userLogin.partyId"/>
@@ -80,12 +75,8 @@
         
         <!-- If we already have a new contactMechId don't update ContactMech 
-->
         <if-empty map-name="parameters" field-name="newContactMechId">         
       
-            <log level="info" message="Calling map procs"/>
-            <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="updateContactMech" in-map-name="parameters" 
out-map-name="context"/>
-            <to-string field-name="contactMechId" map-name="context"/>
-            <log level="info" message="Calling generic updateContactMech 
method"/>
-            <call-service service-name="updateContactMech" 
in-map-name="context">
+            <set-service-fields service-name="updateContactMech" 
map-name="parameters" to-map-name="updateContactMechMap"/>
+            <call-service service-name="updateContactMech" 
in-map-name="updateContactMechMap">
                 <default-message>Contact Mechanism successfully 
updated.</default-message>
                 <result-to-field result-name="contactMechId" 
map-name="newPartyContactMech"/>
             </call-service>
@@ -164,12 +155,8 @@
         </if-compare-field>
         <check-errors/>
 
-        <make-value entity-name="PartyContactMech" 
value-name="newPartyContactMech"/>
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="postalAddress" in-map-name="parameters" 
out-map-name="context"/>
-        <check-errors/>
-
-        <call-service in-map-name="context" service-name="createPostalAddress">
+        <set-service-fields service-name="createPostalAddress" 
map-name="parameters" to-map-name="createPostalAddressMap"/>
+        <call-service in-map-name="createPostalAddressMap" 
service-name="createPostalAddress">
             <default-message>Postal Address successfully 
created</default-message>
             <result-to-field result-name="contactMechId" 
map-name="newPartyContactMech"/>
         </call-service>
@@ -198,11 +185,8 @@
         </if-compare-field>
         <check-errors/>
         
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="postalAddress" in-map-name="parameters" 
out-map-name="context"/>
-        <check-errors/>
-        <set field="context.partyId" from-field="parameters.partyId"/>
-        <call-service in-map-name="context" service-name="updatePostalAddress">
+        <set-service-fields service-name="updatePostalAddress" 
map-name="parameters" to-map-name="updatePostalAddressMap"/>
+        <call-service in-map-name="updatePostalAddressMap" 
service-name="updatePostalAddress">
             <default-message>Postal Address successfully 
updated</default-message>
             <result-to-field result-name="contactMechId" 
map-name="newPartyContactMech" field-name="contactMechId" />             
         </call-service>
@@ -229,11 +213,9 @@
         </if-compare-field>
         <check-errors/>
                 
-        <make-value entity-name="PartyContactMech" 
value-name="newPartyContactMech"/>
         <log level="info" message="Creating telecom number"/>
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="telecomNumber" in-map-name="parameters" 
out-map-name="context"/>           
-        <call-service in-map-name="context" service-name="createTelecomNumber">
+        <set-service-fields service-name="createTelecomNumber" 
map-name="parameters" to-map-name="createTelecomNumberMap"/>           
+        <call-service in-map-name="createTelecomNumberMap" 
service-name="createTelecomNumber">
             <default-message>Telecom number successfully 
created</default-message>
             <result-to-field result-name="contactMechId" 
map-name="newPartyContactMech"/>             
         </call-service>
@@ -261,9 +243,8 @@
         </if-compare-field>
         <check-errors/>
         
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="telecomNumber" in-map-name="parameters" 
out-map-name="context"/>          
-        <call-service in-map-name="context" service-name="updateTelecomNumber">
+        <set-service-fields service-name="updateTelecomNumber" 
map-name="parameters" to-map-name="updateTelecomNumberMap"/>          
+        <call-service service-name="updateTelecomNumber" 
in-map-name="updateTelecomNumberMap">
             <default-message>Telecom Number successfully 
updated</default-message>
             <result-to-field result-name="contactMechId" 
map-name="newPartyContactMech" field-name="contactMechId" />             
         </call-service>
@@ -290,13 +271,16 @@
                 <fail-property resource="PartyUiLabels" 
property="PartyPermissionErrorForThisParty"/>
             </check-permission>
         </if-compare-field>
+
+        <if-validate-method field-name="parameters.emailAddress" 
method="isEmail">
+            <else><add-error><fail-property resource="PartyUiLabels" 
property="PartyEmailAddressNotFormattedCorrectly"/></add-error></else>
+        </if-validate-method>
         <check-errors/>
                 
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/PartyContactMechMapProcs.xml"
-            processor-name="emailAddress" in-map-name="parameters" 
out-map-name="context"/>
-        <check-errors/>
-        <set field="context.contactMechTypeId" value="EMAIL_ADDRESS"/>
-        <call-service service-name="createPartyContactMech" 
in-map-name="context">
+        <set-service-fields service-name="createPartyContactMech" 
map-name="parameters" to-map-name="createPartyContactMechMap"/>
+        <set field="createPartyContactMechMap.infoString" 
from-field="parameters.emailAddress"/>
+        <set field="createPartyContactMechMap.contactMechTypeId" 
value="EMAIL_ADDRESS"/>
+        <call-service service-name="createPartyContactMech" 
in-map-name="createPartyContactMechMap">
             <default-message>Party Contact Mechanism successfully 
created.</default-message>
             <result-to-result result-name="contactMechId"/>
             <result-to-request result-name="contactMechId"/>
@@ -312,13 +296,16 @@
                 <fail-property resource="PartyUiLabels" 
property="PartyPermissionErrorForThisParty"/>
             </check-permission>
         </if-compare-field>
+
+        <if-validate-method field-name="parameters.emailAddress" 
method="isEmail">
+            <else><add-error><fail-property resource="PartyUiLabels" 
property="PartyEmailAddressNotFormattedCorrectly"/></add-error></else>
+        </if-validate-method>
         <check-errors/>
                
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/PartyContactMechMapProcs.xml"
-            processor-name="emailAddress" in-map-name="parameters" 
out-map-name="context"/>
-        <check-errors/>
-        <set field="context.contactMechTypeId" value="EMAIL_ADDRESS"/>
-        <call-service service-name="updatePartyContactMech" 
in-map-name="context">
+        <set-service-fields service-name="updatePartyContactMech" 
map-name="parameters" to-map-name="updatePartyContactMechMap"/>
+        <set field="updatePartyContactMechMap.infoString" 
from-field="parameters.emailAddress"/>
+        <set field="updatePartyContactMechMap.contactMechTypeId" 
value="EMAIL_ADDRESS"/>
+        <call-service service-name="updatePartyContactMech" 
in-map-name="updatePartyContactMechMap">
             <default-message>Party Contact Mechanism successfully 
updated.</default-message>
             <result-to-result result-name="contactMechId"/>
             <result-to-request result-name="contactMechId"/>
@@ -326,7 +313,6 @@
     </simple-method>
        
     <simple-method method-name="findPartyFromEmailAddress" 
short-description="Find partyId from email address">
-
         <set field="input.entityName" value="PartyAndContactMech"/>
         <set field="input.filterByDate" value="Y"/>
         <set field="input.inputFields.infoString" 
from-field="parameters.address"/>

Modified: incubator/ofbiz/trunk/applications/party/servicedef/secas.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/party/servicedef/secas.xml?view=diff&rev=464599&r1=464598&r2=464599
==============================================================================
--- incubator/ofbiz/trunk/applications/party/servicedef/secas.xml (original)
+++ incubator/ofbiz/trunk/applications/party/servicedef/secas.xml Mon Oct 16 
11:07:58 2006
@@ -46,22 +46,12 @@
     </eca>
     
     <!-- party contact mech service ECAs -->
+    <!-- NOTE: because we have an ECA on createPartyContactMech, we don't need 
to do it on createPartyPostalAddress, createPartyEmailAddress, 
createPartyTelecomNumber because those will call it -->
     <eca service="createPartyContactMech" event="commit">
         <condition field-name="contactMechPurposeTypeId" 
operator="is-not-empty"/>
         <action service="createPartyContactMechPurpose" mode="sync"/>
-    </eca>    
-    <eca service="createPartyPostalAddress" event="commit">
-        <condition field-name="contactMechPurposeTypeId" 
operator="is-not-empty"/>
-        <action service="createPartyContactMechPurpose" mode="sync"/>
-    </eca>
-    <eca service="createPartyEmailAddress" event="commit">
-        <condition field-name="contactMechPurposeTypeId" 
operator="is-not-empty"/>
-        <action service="createPartyContactMechPurpose" mode="sync"/>
-    </eca>        
-    <eca service="createPartyTelecomNumber" event="commit">
-        <condition field-name="contactMechPurposeTypeId" 
operator="is-not-empty"/>
-        <action service="createPartyContactMechPurpose" mode="sync"/>
     </eca>
+
     <eca service="createCommEventWorkEffort" event="invoke">
         <condition field-name="workEffortId" operator="is-empty"/>
         <action service="createWorkEffort" mode="sync" />

Modified: 
incubator/ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java?view=diff&rev=464599&r1=464598&r2=464599
==============================================================================
--- 
incubator/ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java
 (original)
+++ 
incubator/ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java
 Mon Oct 16 11:07:58 2006
@@ -790,6 +790,7 @@
      [EMAIL PROTECTED] Map with the result of the service, the output 
parameters
      */
     public static Map createPartyContactMechPurpose(DispatchContext ctx, Map 
context) {
+        //Debug.logInfo(new Exception(), "In createPartyContactMechPurpose 
context: " + context, module);
         Map result = new HashMap();
         GenericDelegator delegator = ctx.getDelegator();
         Security security = ctx.getSecurity();
@@ -799,17 +800,19 @@
         String errMsg = null;
         Locale locale = (Locale) context.get("locale");
 
-        if (result.size() > 0)
+        if (result.size() > 0) {
             return result;
+        }
 
         // required parameters
         String contactMechId = (String) context.get("contactMechId");
         String contactMechPurposeTypeId = (String) 
context.get("contactMechPurposeTypeId");
 
         GenericValue tempVal = null;
-
         try {
-            List allPCMPs = 
EntityUtil.filterByDate(delegator.findByAnd("PartyContactMechPurpose", 
UtilMisc.toMap("partyId", partyId, "contactMechId", contactMechId, 
"contactMechPurposeTypeId", contactMechPurposeTypeId), null), true);
+            Map pcmpFindMap = UtilMisc.toMap("partyId", partyId, 
"contactMechId", contactMechId, "contactMechPurposeTypeId", 
contactMechPurposeTypeId);
+            //Debug.logInfo("pcmpFindMap = " + pcmpFindMap, module);
+            List allPCMPs = 
EntityUtil.filterByDate(delegator.findByAnd("PartyContactMechPurpose", 
pcmpFindMap), true);
 
             tempVal = EntityUtil.getFirst(allPCMPs);
         } catch (GenericEntityException e) {
@@ -821,7 +824,8 @@
 
         if (tempVal != null) {
             // exists already with valid date, show warning
-            errMsg = 
UtilProperties.getMessage(resource,"contactmechservices.could_not_create_new_purpose_already_exists",
 locale);
+            errMsg = UtilProperties.getMessage(resource, 
"contactmechservices.could_not_create_new_purpose_already_exists", locale);
+            errMsg += ": " + tempVal.getPrimaryKey().toString();
             return ServiceUtil.returnError(errMsg);
         } else {
             // no entry with a valid date range exists, create new with open 
thruDate


Reply via email to