This contribution seems completely wrong to me. Pierre and Jacques, have
you performed proper tests and reviews before committing it?

Jacopo


On Mon, Aug 22, 2016 at 11:58 AM, <jler...@apache.org> wrote:

> Author: jleroux
> Date: Mon Aug 22 09:58:35 2016
> New Revision: 1757130
>
> URL: http://svn.apache.org/viewvc?rev=1757130&view=rev
> Log:
> A modified patch from Pierre Smits for "remove build dependency of Order
> on Marketing" https://issues.apache.org/jira/browse/OFBIZ-7966
>
> Currently there is a build dependency from order - CheckOutEvents.java on
> marketing - TrackingCodeEvents.java
> The createOrder function (in CheckOutEvents.java) calls the
> makeTrackingCodeOrders function in TrackingCodeEvents.java
>
> jleroux: I merged parts of the 2 patches, the 2nd was good but missing the
> makeTrackingCodeOrders service definition. I also fixed the warning about
> trackingCodeOrdersList creation not being generic
>
> Modified:
>     ofbiz/trunk/applications/marketing/servicedef/services.xml
>     ofbiz/trunk/applications/marketing/src/main/java/org/
> apache/ofbiz/marketing/tracking/TrackingCodeEvents.java
>     ofbiz/trunk/applications/order/data/OrderSystemPropertyData.xml
>     ofbiz/trunk/applications/order/src/main/java/org/apache/ofbiz/order/
> shoppingcart/CheckOutEvents.java
>     ofbiz/trunk/applications/order/src/main/java/org/apache/ofbiz/order/
> shoppingcart/CheckOutHelper.java
>
> Modified: ofbiz/trunk/applications/marketing/servicedef/services.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/
> marketing/servicedef/services.xml?rev=1757130&r1=1757129&r2=
> 1757130&view=diff
> ============================================================
> ==================
> --- ofbiz/trunk/applications/marketing/servicedef/services.xml (original)
> +++ ofbiz/trunk/applications/marketing/servicedef/services.xml Mon Aug 22
> 09:58:35 2016
> @@ -419,6 +419,12 @@ under the License.
>          <attribute type="String" mode="IN" name="returnId"
> optional="false"/>
>      </service>
>
> +    <service name="makeTrackingCodeOrders" engine="java"
> location="org.apache.ofbiz.marketing.tracking.TrackingCodeEvents" 
> invoke="makeTrackingCodeOrders"
> auth="true">
> +        <description>Makes a list of TrackingCodeOrder entities to be
> attached to the current order</description>
> +        <attribute name="request" mode="IN" type="javax.servlet.http.
> HttpServletRequest"/>
> +        <attribute name="trackingCodeOrders" type="List" mode="OUT"
> optional="false"/>
> +    </service>
> +
>      <!-- marketing permission service -->
>      <service name="marketingPermissionService" engine="simple"
>               
> location="component://common/minilang/permission/CommonPermissionServices.xml"
> invoke="genericBasePermissionCheck">
>
> Modified: ofbiz/trunk/applications/marketing/src/main/java/org/
> apache/ofbiz/marketing/tracking/TrackingCodeEvents.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/
> marketing/src/main/java/org/apache/ofbiz/marketing/
> tracking/TrackingCodeEvents.java?rev=1757130&r1=1757129&
> r2=1757130&view=diff
> ============================================================
> ==================
> --- ofbiz/trunk/applications/marketing/src/main/java/org/
> apache/ofbiz/marketing/tracking/TrackingCodeEvents.java (original)
> +++ ofbiz/trunk/applications/marketing/src/main/java/org/
> apache/ofbiz/marketing/tracking/TrackingCodeEvents.java Mon Aug 22
> 09:58:35 2016
> @@ -31,14 +31,14 @@ import org.apache.ofbiz.base.util.Debug;
>  import org.apache.ofbiz.base.util.UtilDateTime;
>  import org.apache.ofbiz.base.util.UtilMisc;
>  import org.apache.ofbiz.base.util.UtilValidate;
> -import org.apache.ofbiz.webapp.stats.VisitHandler;
> -import org.apache.ofbiz.webapp.website.WebSiteWorker;
>  import org.apache.ofbiz.entity.Delegator;
>  import org.apache.ofbiz.entity.GenericEntityException;
>  import org.apache.ofbiz.entity.GenericValue;
>  import org.apache.ofbiz.entity.util.EntityQuery;
>  import org.apache.ofbiz.entity.util.EntityUtilProperties;
>  import org.apache.ofbiz.product.category.CategoryWorker;
> +import org.apache.ofbiz.webapp.stats.VisitHandler;
> +import org.apache.ofbiz.webapp.website.WebSiteWorker;
>
>  /**
>   * Events used for maintaining TrackingCode related information
> @@ -285,7 +285,7 @@ public class TrackingCodeEvents {
>          String prodCatalogId = trackingCode.getString("prodCatalogId");
>          if (UtilValidate.isNotEmpty(prodCatalogId)) {
>              session.setAttribute("CURRENT_CATALOG_ID", prodCatalogId);
> -            CategoryWorker.setTrail(request, new LinkedList());
> +            CategoryWorker.setTrail(request, new LinkedList<String>());
>          }
>
>          // if forward/redirect is needed, do a response.sendRedirect and
> return null to tell the control servlet to not do any other requests/views
>
> Modified: ofbiz/trunk/applications/order/data/OrderSystemPropertyData.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/data/
> OrderSystemPropertyData.xml?rev=1757130&r1=1757129&r2=1757130&view=diff
> ============================================================
> ==================
> --- ofbiz/trunk/applications/order/data/OrderSystemPropertyData.xml
> (original)
> +++ ofbiz/trunk/applications/order/data/OrderSystemPropertyData.xml Mon
> Aug 22 09:58:35 2016
> @@ -50,4 +50,12 @@ order.properties setting is: order.item.
>      description="Allow comment on Order Item. Choices are: Y or N."
>      />
>
> +<!--
> +#
> +marketing.tracking.enable=Y
> +-->
> +    <SystemProperty systemResourceId="order" 
> systemPropertyId="marketing.tracking.enable"
> systemPropertyValue="Y"
> +    description="Allow tracking in marketing component (optional).
> Choices are: Y or N."
> +    />
> +
>  </entity-engine-xml>
> \ No newline at end of file
>
> Modified: ofbiz/trunk/applications/order/src/main/java/org/
> apache/ofbiz/order/shoppingcart/CheckOutEvents.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/
> order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutEvents.
> java?rev=1757130&r1=1757129&r2=1757130&view=diff
> ============================================================
> ==================
> --- ofbiz/trunk/applications/order/src/main/java/org/apache/ofbiz/order/
> shoppingcart/CheckOutEvents.java (original)
> +++ ofbiz/trunk/applications/order/src/main/java/org/apache/ofbiz/order/
> shoppingcart/CheckOutEvents.java Mon Aug 22 09:58:35 2016
> @@ -42,7 +42,7 @@ import org.apache.ofbiz.entity.Delegator
>  import org.apache.ofbiz.entity.GenericEntityException;
>  import org.apache.ofbiz.entity.GenericValue;
>  import org.apache.ofbiz.entity.util.EntityQuery;
> -import org.apache.ofbiz.marketing.tracking.TrackingCodeEvents;
> +import org.apache.ofbiz.entity.util.EntityUtilProperties;
>  import org.apache.ofbiz.order.order.OrderReadHelper;
>  import org.apache.ofbiz.party.party.PartyWorker;
>  import org.apache.ofbiz.product.store.ProductStoreWorker;
> @@ -53,6 +53,7 @@ import org.apache.ofbiz.service.ServiceU
>  import org.apache.ofbiz.webapp.stats.VisitHandler;
>  import org.apache.ofbiz.webapp.website.WebSiteWorker;
>
> +
>  /**
>   * Events used for processing checkout and orders.
>   */
> @@ -438,15 +439,28 @@ public class CheckOutEvents {
>          session.removeAttribute("_QUICK_REORDER_PRODUCTS_");
>
>          boolean areOrderItemsExploded = explodeOrderItems(delegator,
> cart);
> -
> -        //get the TrackingCodeOrder List
> -        List<GenericValue> trackingCodeOrders = TrackingCodeEvents.
> makeTrackingCodeOrders(request);
> +
> +      //get the TrackingCodeOrder List
> +        String trackingEnabled = EntityUtilProperties.
> getPropertyValue("order","marketing.tracking.enable", delegator);
> +        Map<String, Object> trackingCodeOrders = new HashMap<String,
> Object>();
> +        if (trackingEnabled != null && trackingEnabled == "Y") {
> +            //get the TrackingCodeOrder List
> +            Map<String, Object> inMap = new HashMap<String, Object>();
> +            inMap.put("request", request);
> +            try {
> +                trackingCodeOrders = dispatcher.runSync("
> makeTrackingCodeOrder",inMap);
> +            } catch (GenericServiceException e) {
> +                Debug.logError(e, module);
> +            }
> +        }
> +
>          String distributorId = (String) session.getAttribute("_
> DISTRIBUTOR_ID_");
>          String affiliateId = (String) session.getAttribute("_
> AFFILIATE_ID_");
>          String visitId = VisitHandler.getVisitId(session);
>          String webSiteId = WebSiteWorker.getWebSiteId(request);
> +        List<GenericValue> trackingCodeOrdersList =
> UtilGenerics.checkList(new ArrayList<GenericValue>());
>
> -        callResult = checkOutHelper.createOrder(userLogin,
> distributorId, affiliateId, trackingCodeOrders, areOrderItemsExploded,
> visitId, webSiteId);
> +        callResult = checkOutHelper.createOrder(userLogin,
> distributorId, affiliateId, trackingCodeOrdersList, areOrderItemsExploded,
> visitId, webSiteId);
>          if (callResult != null) {
>              ServiceUtil.getMessages(request, callResult, null);
>              if (ServiceUtil.isError(callResult)) {
>
> Modified: ofbiz/trunk/applications/order/src/main/java/org/
> apache/ofbiz/order/shoppingcart/CheckOutHelper.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/
> order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.
> java?rev=1757130&r1=1757129&r2=1757130&view=diff
> ============================================================
> ==================
> --- ofbiz/trunk/applications/order/src/main/java/org/apache/ofbiz/order/
> shoppingcart/CheckOutHelper.java (original)
> +++ ofbiz/trunk/applications/order/src/main/java/org/apache/ofbiz/order/
> shoppingcart/CheckOutHelper.java Mon Aug 22 09:58:35 2016
> @@ -559,7 +559,7 @@ public class CheckOutHelper {
>
>      // Create order event - uses createOrder service for processing
>      public Map<String, Object> createOrder(GenericValue userLogin, String
> distributorId, String affiliateId,
> -            List<GenericValue> trackingCodeOrders, boolean
> areOrderItemsExploded, String visitId, String webSiteId) {
> +            List<GenericValue> trackingCodeOrdersList, boolean
> areOrderItemsExploded, String visitId, String webSiteId) {
>          if (this.cart == null) {
>              return null;
>          }
> @@ -575,7 +575,7 @@ public class CheckOutHelper {
>          Map<String, Object> context = this.cart.makeCartMap(this.dispatcher,
> areOrderItemsExploded);
>
>          //get the TrackingCodeOrder List
> -        context.put("trackingCodeOrders", trackingCodeOrders);
> +        context.put("trackingCodeOrders", trackingCodeOrdersList);
>
>          if (distributorId != null) context.put("distributorId",
> distributorId);
>          if (affiliateId != null) context.put("affiliateId", affiliateId);
>
>
>

Reply via email to