I think we should discuss this. Product.productTypeId is not part of Product 
prmary key.
You may create other services that may not rely on OOTB createProduct and then you get caught by this when using the UI (even an UI based on OOTB UI) Also consider that this is only checking if the value is there. As OOTB it's mandatory there is no problems: it can't hurt (I know you don't like this sentence ;o).

When I say we should discuss this, I don't think about this peculiar case but at large: should we consider only OOTB cases when enforcing NPE or such?

Jacques

Scott Gray wrote:
Check the createProduct service definition.  productTypeId is required and the 
out of the box code shouldn't have to deal with
any other scenario, please revert this.

Thanks
Scott

HotWax Media
http://www.hotwaxmedia.com

On 23/06/2010, at 11:16 PM, [email protected] wrote:

Author: jleroux
Date: Wed Jun 23 11:16:33 2010
New Revision: 957160

URL: http://svn.apache.org/viewvc?rev=957160&view=rev
Log:
Product.productTypeId may not exist in a custom application

Modified:
   ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl

Modified: 
ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl?rev=957160&r1=957159&r2=957160&view=diff
============================================================================== 
---
ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl 
(original) +++
ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl Wed 
Jun 23 11:16:33 2010 @@ -156,7 +156,7 @@ under
                      the License. <span style="color: red; font-size:
                    
15px;">[${backOrdered?if_exists}&nbsp;${uiLabelMap.OrderBackOrdered}]</span> 
</#if>
                    </#if>
-                    <#if (availableToPromiseMap.get(cartLine.getProductId()) <= 0) 
&& (shoppingCart.getOrderType() ==
'SALES_ORDER') && product.productTypeId != "DIGITAL_GOOD" && product.productTypeId != 
"MARKETING_PKG_AUTO" &&
                      product.productTypeId != "MARKETING_PKG_PICK"> +             
       <#if
                    (availableToPromiseMap.get(cartLine.getProductId()) <= 0) 
&& (shoppingCart.getOrderType() == 'SALES_ORDER')
                      && product.productTypeId! != "DIGITAL_GOOD" && product.productTypeId! != 
"MARKETING_PKG_AUTO" &&
product.productTypeId! != "MARKETING_PKG_PICK"> <span style="color:
red;">[${cartLine.getQuantity()}&nbsp;${uiLabelMap.OrderBackOrdered}]</span> 
<#else> <#if
(availableToPromiseMap.get(cartLine.getProductId()) < cartLine.getQuantity()) 
&& (shoppingCart.getOrderType() == 'SALES_ORDER')
&& product.productTypeId != "DIGITAL_GOOD" && product.productTypeId != 
"MARKETING_PKG_AUTO" && product.productTypeId !=
"MARKETING_PKG_PICK">


Reply via email to