[ https://issues.apache.org/jira/browse/OFBIZ-6249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jacques Le Roux updated OFBIZ-6249: ----------------------------------- Description: This is the contiunation of OFBIZ-6057 which have fixed the case below, I simply quote its description here to get the ideas {quote} In order to fix OFBIZ-2120, code was added to the applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl file at lines 53 through 57, with the offending line being at 5: <a href="https://github.com/apache/ofbiz/blob/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl##L56">https://github.com/apache/ofbiz/blob/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl##L56 Here is the commit: https://github.com/apache/ofbiz/commit/27253c4667e87721212fa8955d75c74a0d171c73 This ends up causing the following error: [java] freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: [java] ==> null [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 56, column 40] [java] [java] ---- [java] Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? [java] ---- [java] [java] ---- [java] FTL stack trace ("~" means nesting-related): [java] - Failed at: #assign product = null [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 56, column 21] [java] - Reached through: #list quoteItems as quoteItem [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 52, column 13] The main reason for this is because there is no concept of "null" in FreeMarker 2.3, as the following thread explains: http://ehc.ac/p/freemarker/discussion/2346/thread/85da30a4/ Not sure how to go about fixing this error, the thread suggests setting the variable to the string "null". {quote} There are still other instances of this bug in: {code} applications/order/webapp/ordermgr/return/returnItems.ftl: <#assign returnItemSubTotal = null > <#-- otherwise the last item's might carry over --> applications/accounting/webapp/accounting/reports/DepositSlip.fo.ftl: <#assign creditCard = null/> framework/webtools/webapp/webtools/datafile/viewdatafile.ftl: <#assign lastRecordName = null> {code} There is no needs to change R12.04 though it uses Freemarker 2.3, exactly 2.3.19, this is confusing, I guess this issue did not exist in 2.3.19... But the other null assignments are wrong in trunk and newer branches anyway was: This is the contiunation of OFBIZ-6057, I simply copy its description here In order to fix OFBIZ-2120, code was added to the applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl file at lines 53 through 57, with the offending line being at 5: <a href="https://github.com/apache/ofbiz/blob/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl##L56">https://github.com/apache/ofbiz/blob/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl##L56 Here is the commit: https://github.com/apache/ofbiz/commit/27253c4667e87721212fa8955d75c74a0d171c73 This ends up causing the following error: [java] freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: [java] ==> null [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 56, column 40] [java] [java] ---- [java] Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? [java] ---- [java] [java] ---- [java] FTL stack trace ("~" means nesting-related): [java] - Failed at: #assign product = null [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 56, column 21] [java] - Reached through: #list quoteItems as quoteItem [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 52, column 13] The main reason for this is because there is no concept of "null" in FreeMarker 2.3, as the following thread explains: http://ehc.ac/p/freemarker/discussion/2346/thread/85da30a4/ Not sure how to go about fixing this error, the thread suggests setting the variable to the string "null". There are other instances of this bug as well: $ grep -r "<#assign" * | grep "= null" applications/order/webapp/ordermgr/return/returnItems.ftl: <#assign returnItemSubTotal = null > <#-- otherwise the last item's might carry over --> applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl: <#assign product = null> <#-- don't drag it along to the next iteration --> applications/accounting/webapp/accounting/reports/DepositSlip.fo.ftl: <#assign creditCard = null/> framework/webtools/webapp/webtools/datafile/viewdatafile.ftl: <#assign lastRecordName = null> There is no needs to change R12.04 though it uses Freemarker 2.3, exactly 2.3.19, this is confusing... But the other null assignments are wrong in trunk and newer branches anyway > Complete OFBIZ-6057 > ------------------- > > Key: OFBIZ-6249 > URL: https://issues.apache.org/jira/browse/OFBIZ-6249 > Project: OFBiz > Issue Type: Bug > Components: accounting, order > Affects Versions: Release Branch 13.07, Release Branch 14.12, Trunk > Reporter: Jacques Le Roux > > This is the contiunation of OFBIZ-6057 which have fixed the case below, I simply quote its description here to get the ideas > {quote} > In order to fix OFBIZ-2120, code was added to the applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl file at lines 53 through 57, with the offending line being at 5: > <a href="https://github.com/apache/ofbiz/blob/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl##L56">https://github.com/apache/ofbiz/blob/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl##L56 > Here is the commit: https://github.com/apache/ofbiz/commit/27253c4667e87721212fa8955d75c74a0d171c73 > This ends up causing the following error: > [java] freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: > [java] ==> null [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 56, column 40] > [java] > [java] ---- > [java] Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? > [java] ---- > [java] > [java] ---- > [java] FTL stack trace ("~" means nesting-related): > [java] - Failed at: #assign product = null [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 56, column 21] > [java] - Reached through: #list quoteItems as quoteItem [in template "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 52, column 13] > The main reason for this is because there is no concept of "null" in FreeMarker 2.3, as the following thread explains: http://ehc.ac/p/freemarker/discussion/2346/thread/85da30a4/ Not sure how to go about fixing this error, the thread suggests setting the variable to the string "null". > {quote} > There are still other instances of this bug in: > {code} > applications/order/webapp/ordermgr/return/returnItems.ftl: <#assign returnItemSubTotal = null > <#-- otherwise the last item's might carry over --> > applications/accounting/webapp/accounting/reports/DepositSlip.fo.ftl: <#assign creditCard = null/> > framework/webtools/webapp/webtools/datafile/viewdatafile.ftl: <#assign lastRecordName = null> > {code} > There is no needs to change R12.04 though it uses Freemarker 2.3, exactly 2.3.19, this is confusing, I guess this issue did not exist in 2.3.19... > But the other null assignments are wrong in trunk and newer branches anyway -- This message was sent by Atlassian JIRA (v6.3.4#6332) |
Free forum by Nabble | Edit this page |