[ 
https://issues.apache.org/jira/browse/OFBIZ-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13219465#comment-13219465
 ] 

Michael Brohl commented on OFBIZ-4599:
--------------------------------------

Hi Jacques,

I just wanted to provide a similar patch and found this existing one. It fixes 
an obviously possible npe so please apply the patch.

Thanks and regards,

Michael
                
> Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and 
> excessive logging
> ------------------------------------------------------------------------------------------
>
>                 Key: OFBIZ-4599
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4599
>             Project: OFBiz
>          Issue Type: Bug
>          Components: specialpurpose/ecommerce
>    Affects Versions: Release Branch 11.04, SVN trunk
>         Environment: Any
>            Reporter: mz4wheeler
>            Priority: Minor
>         Attachments: OFBIZ-4599.patch
>
>
> If you manually enter a URL (or via search engine) for a non-existing 
> product, the following (annoying) long java exception is logged.
> 2011-11-30 20:56:35,431 (TP-Processor3) [        ModelScreen.java:401:ERROR] 
> Error rendering screen 
> [component://ecommerce/widget/CatalogScreens.xml#product]: 
> java.lang.NullPointerException: Cannot get property 'isVirtual' on null 
> object. Rolling back transaction.
> 2011-11-30 20:56:35,436 (TP-Processor3) [    TransactionUtil.java:349:INFO ] 
> [TransactionUtil.rollback] transaction rolled back
> 2011-11-30 20:56:35,437 (TP-Processor3) [    TransactionUtil.java:274:WARN ] 
> [TransactionUtil.commit] Not committing transaction, status is No Transaction 
> (6)
> 2011-11-30 20:56:35,446 (TP-Processor3) [     ControlServlet.java:227:ERROR]
> ---- exception report 
> ----------------------------------------------------------
> Error in request handler:
> Exception: org.ofbiz.widget.screen.ScreenRenderException
> Message: Error rendering screen 
> [component://ecommerce/widget/CatalogScreens.xml#product]: 
> java.lang.NullPointerException: Cannot get property 'isVirtual' on null 
> object (Cannot get property 'isVirtual' on null object)
> ---- cause 
> ---------------------------------------------------------------------
> Exception: java.lang.NullPointerException
> Message: Cannot get property 'isVirtual' on null object
> ---- stack trace 
> ---------------------------------------------------------------
> java.lang.NullPointerException: Cannot get property 'isVirtual' on null object
> org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:56)
> org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:156)
> org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:44)
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:235)
> Product.run(Product.groovy:48)
> .... etc ... etc ... etc ...
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
> java.lang.Thread.run(Thread.java:662)
> --------------------------------------------------------------------------------
> 2011-11-30 20:56:35,449 (TP-Processor3) [     ControlServlet.java:243:ERROR] 
> An error occurred, going to the errorPage: /error/error.jsp
> 2011-11-30 20:56:35,450 (TP-Processor3) [     ControlServlet.java:250:ERROR] 
> Including errorPage: /error/error.jsp
> 2011-11-30 20:56:37,437 (TP-Processor3) [     ControlServlet.java:324:INFO ] 
> [[[product] Request Done- total:6.14,since last([product] Request...):6.14]]
> On top of this, the following (BIG RED) error screen is shown to the user:
> :ERROR MESSAGE:
> org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen 
> [component://ecommerce/widget/CatalogScreens.xml#product]: 
> java.lang.NullPointerException: Cannot get property 'isVirtual' on null 
> object (Cannot get property 'isVirtual' on null object)
> This is caused by Product.groovy performing a search for a product (which 
> fails) and then trying to reference "product.isVariant", which doesn't exist.
> After the simple patch, the store now shows the default ecommerce screen, 
> with the following message in the main ecommerce area:
> RESULT: "Product not found for Product ID 1001JAPANCROS!"
> Much better.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to