[ https://issues.apache.org/jira/browse/OFBIZ-6249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jacques Le Roux closed OFBIZ-6249. ---------------------------------- Resolution: Cannot Reproduce Fix Version/s: 15.12.01 13.07.03 14.12.01 Following "Reproduction Steps" in OFBIZ-6057 I cannot reproduce R12.04 not fixed > Complete OFBIZ-6057 (error in Freemarker 2.3 versions higher than 2.3.19) > ------------------------------------------------------------------------- > > 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 > Assignee: Jacques Le Roux > Fix For: 14.12.01, 13.07.03, 15.12.01 > > > This is the contiunation of OFBIZ-6057 which have fixed the case below, I > simply sort of quote its description here to get the idea: > {quote} > In order to fix OFBIZ-2120, code was added to the > applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl file. This was > working with previous versions of Freemarker but is now in 2.3 a problem at > line 46 of this commit: > https://github.com/apache/ofbiz/commit/27253c4667e87721212fa8955d75c74a0d171c73 > This ends up causing the following error: > {quote} > {code} > [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] 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] 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] > {code} > {quote} > The main reason for this is because there is no concept of "null" in > FreeMarker 2.3 (after 2.3.19), as the following thread kinda 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. I guess this issue only exists in 2.3 versions above 2.3.19! > Note that this should no longer be a problem in Freemarker 2.4... and > hopefully above... But for now the other null assignments are wrong in trunk > and newer branches. -- This message was sent by Atlassian JIRA (v6.3.4#6332)