this what I wrote on the dev ml
here is my suggestion:
if there is no partyid assigned then anonymous.
if anonymous then the products payments should be presented, for selection.
if there is a party ID then should compare the parties payments with the
product stores. if non match then the product stores payment methods are
presented.
if the partID payments methods match the product store then those that
match should be presented. Could have a Flag in the product store to
show all the product store by default.




BJ Freeman sent the following on 4/28/2009 2:33 PM:
> > In going through a anonymous check out process where the only product
> > store payment method is paypal, it seems the flow does not take into
> > account a payment will be made externally while doing the check out
process.
> > In looking at
> > orderpaymentinfo.ftl
> > it seems to take into account EXT_PAYPAL
> > this is called in the orderentryscreens.ConfirmOrder screen.
> >
> >
> > however in the three check options they call
> >
> > CheckOutEvents.checkPaymentMethods()
> > which calls
> > CheckOutHelper.validatePaymentMethods()
> > there is nothing about external payments.
> > I would think it would set the Payment Id as the external payment like
> > paypal so ti would trigger the event to call paypal payments.
> > if there is not partyID then it should look to the Products store for
> > payment types and list those.
> >
> > or am I missing something.
> >


rohit2006 sent the following on 4/29/2009 8:21 PM:
> Hi,
> 
> I am getting the following error when accessing the quickcheckout page. I am
> not sure whats happening, it appears that error is caused by the code in the
> file CheckoutPayment.groovy. FYI i have added a new payment method in
> addition to those already existing with ofbiz. I someone can help understand
> what exactly the code is doing below, i will really appreciate it. My first
> guess is i missed some entries to add to the database, while adding the new
> payment method.
> 
> 
> Thanks,
> 
> Rohit
> 
> context.paymentMethodList =
> EntityUtil.filterByDate(party.getRelated("PaymentMethod", null,
> ["paymentMethodTypeId"]), true);
> 
> 
> org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen
> [component://ecommerce/widget/OrderScreens.xml#checkoutoptions]:
> java.lang.NullPointerException: Cannot invoke method getRelated() on null
> object (Cannot invoke method getRelated() on null object)
> 
> The log reads as follows:
> 
> 
> 2009-04-29 23:15:48,535 (TP-Processor12) [ ControlServlet.java:130:INFO ]
> [[[quickcheckout] Request Begun, encoding=[UTF-8]- total:0.0,since
> last(Begin):0.0]] 
> 2009-04-29 23:15:48,559 (TP-Processor12) [ ConfigXMLReader.java:118:INFO ]
> controller loaded: 0.0070s, 258 requests, 87 views in
> jndi:/0.0.0.0/ecommerce/WEB-INF/controller.xml 
> 2009-04-29 23:15:48,623 (TP-Processor12) [ RequestHandler.java:588:INFO ]
> Ran Event [java:org.ofbiz.order.shoppingcart.CheckOutEvents#cartNotEmpty]
> from [request], result is [success] 
> 2009-04-29 23:15:48,643 (TP-Processor12) [ RequestHandler.java:692:INFO ]
> Rendering View [quickcheckout],
> sessionId=C71988CE6310DC23954A04AD9420A4B8.jvm1 
> 2009-04-29 23:15:48,654 (TP-Processor12) [ ScreenFactory.java:129:INFO ] Got
> 35 screens in 0.01s from:
> file:/mnt/ofbiz/trunk/specialpurpose/ecommerce/widget/OrderScreens.xml 
> 2009-04-29 23:15:48,668 (TP-Processor12) [ ModelScreen.java:398:ERROR] Error
> rendering screen
> [component://ecommerce/widget/OrderScreens.xml#checkoutoptions]:
> java.lang.NullPointerException: Cannot invoke method getRelated() on null
> object. Rolling back transaction. 
> 2009-04-29 23:15:48,669 (TP-Processor12) [ TransactionUtil.java:285:ERROR]
> ---- exception report
> ----------------------------------------------------------
> [TransactionUtil.rollback] Exception: java.lang.Exception Message: Stack
> Trace ---- stack trace
> ---------------------------------------------------------------
> java.lang.Exception: Stack Trace
> org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:284)
> org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:266)
> org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:401)
> org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:132)
> org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:92)
> org.ofbiz.widget.screen.ScreenWidgetViewHandler.render(ScreenWidgetViewHandler.java:98)
> org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:781)
> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:533)
> org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:201)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:259)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
> org.ofbiz.catalina.container.CrossSubdomainSessionValve.invoke(CrossSubdomainSessionValve.java:44)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
> java.lang.Thread.run(Thread.java:619)
> --------------------------------------------------------------------------------
>  
> 2009-04-29 23:15:48,670 (TP-Processor12) [ TransactionUtil.java:295:INFO ]
> [TransactionUtil.rollback] transaction rolled back 
> 2009-04-29 23:15:48,670 (TP-Processor12) [ TransactionUtil.java:219:WARN ]
> [TransactionUtil.commit] Not committing transaction, status is No
> Transaction (6) 
> 2009-04-29 23:15:48,671 (TP-Processor12) [ ControlServlet.java:204:ERROR]
> ---- exception report
> ---------------------------------------------------------- Error in request
> handler: Exception: org.ofbiz.widget.screen.ScreenRenderException Message:
> Error rendering screen
> [component://ecommerce/widget/OrderScreens.xml#checkoutoptions]:
> java.lang.NullPointerException: Cannot invoke method getRelated() on null
> object (Cannot invoke method getRelated() on null object) ---- cause
> ---------------------------------------------------------------------
> Exception: java.lang.NullPointerException Message: Cannot invoke method
> getRelated() on null object ---- stack trace
> ---------------------------------------------------------------
> java.lang.NullPointerException: Cannot invoke method getRelated() on null
> object
> org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:77)
> org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:784)
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
> CheckoutPayment.run(CheckoutPayment.groovy:52)
> org.ofbiz.base.util.GroovyUtil.runScriptAtLocation(GroovyUtil.java:138)
> org.ofbiz.widget.screen.ModelScreenAction$Script.runAction(ModelScreenAction.java:408)
> org.ofbiz.widget.screen.ModelScreenAction.runSubActions(ModelScreenAction.java:118)
> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:220)
> org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:393)
> org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:132)
> org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:92)
> org.ofbiz.widget.screen.ScreenWidgetViewHandler.render(ScreenWidgetViewHandler.java:98)
> org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:781)
> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:533)
> org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:201)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:259)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
> org.ofbiz.catalina.container.CrossSubdomainSessionValve.invoke(CrossSubdomainSessionValve.java:44)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
> java.lang.Thread.run(Thread.java:619)
> --------------------------------------------------------------------------------
>  
> 2009-04-29 23:15:48,671 (TP-Processor12) [ ControlServlet.java:218:ERROR] An
> error occurred, going to the errorPage: /error/error.jsp 
> 2009-04-29 23:15:48,671 (TP-Processor12) [ ControlServlet.java:225:ERROR]
> Including errorPage: /error/error.jsp 
> 2009-04-29 23:15:48,677 (TP-Processor12) [ SequenceUtil.java:341:INFO ] Got
> bank of sequenced IDs for [ServerHitBin]; curSeqId=56620, maxSeqId=56630,
> bankSize=10 
> 2009-04-29 23:15:48,716 (TP-Processor12) [ ControlServlet.java:299:INFO ]
> [[[quickcheckout] Request Done- total:0.181,since last([quickcheckout]
> R...):0.181]] 
> 
> 
> 

-- 
BJ Freeman
http://www.businessesnetwork.com/automation
http://bjfreeman.elance.com
http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro
Systems Integrator.

Reply via email to