I did not look into details, but yes seems the way Thanks
Jacques Jonatan Soto wrote: > There isn't afaik. Do you want me to create one if that's finally the case? > > > On Sat, May 11, 2013 at 1:39 PM, Jacques Le Roux < > jacques.le.r...@les7arts.com> wrote: > >> Is there a Jira for that, should we not commit and backport? >> >> Jacques >> >> From: "Adrian Crum" <adrian.c...@sandglass-software.com> >>> That is correct. >>> >>> -Adrian >>> >>> On 5/11/2013 11:41 AM, Jonatan Soto wrote: >>>> Ok, I think I got it. My solution only covered first problem, but the >>>> second problem implies that the first problem is no longer a problem >>>> because the original order item list has to remain unmodified for further >>>> usage. So this might fix problem 2: >>>> >>>> orderItemListFiltered = new LinkedList(); >>>> orderItemList = orderReadHelper.getOrderItems(); >>>> orderItemList.each { orderItem -> >>>> if (UtilValidate.isEmpty(orderItem.get("isPromo")) || >>>> "N".equals(orderItem.get("isPromo"))) { >>>> orderItemListFiltered.add(orderItem); >>>> } else { >>>> if (!"ITEM_CANCELLED".equals(orderItem.get("statusId"))) >>>> orderItemListFiltered.add(orderItem); >>>> } >>>> } >>>> context.orderItemList = orderItemListFiltered; >>>> >>>> HTH >>>> >>>> >>>> On Sat, May 11, 2013 at 11:47 AM, Adrian Crum < >>>> adrian.c...@sandglass-software.com> wrote: >>>> >>>>> There are two problems with that part of the script: >>>>> >>>>> 1. It modifies a List while iterating over it. >>>>> 2. It modifies a List that is contained by OrderReadHelper - so any >>>>> further use of OrderReadHelper will produce incorrect data. >>>>> >>>>> The solution is to iterate over the List contained on OrderReadHelper and >>>>> build a new List based on the selection criteria. In other words, create a >>>>> new List that excludes canceled promo items instead of modifying the >>>>> existing List. >>>>> >>>>> -Adrian >>>>> >>>>> >>>>> On 5/11/2013 10:41 AM, Jonatan Soto wrote: >>>>> >>>>>> I could fix the issue by doing the following at line 122 of that groovy >>>>>> file: >>>>>> >>>>>> //canceledPromoOrderItem = [:]; >>>>>> orderItemList = orderReadHelper.getOrderItems(**); >>>>>> for (Iterator iter = orderItemList.iterator(); iter.hasNext();) { >>>>>> //orderItemList.each { orderItem -> >>>>>> orderItem = iter.next(); >>>>>> if("Y".equals(orderItem.get("**isPromo")) && >>>>>> "ITEM_CANCELLED".equals(**orderItem.get("statusId"))) { >>>>>> //canceledPromoOrderItem = orderItem; >>>>>> iter.remove(); >>>>>> } >>>>>> Debug.log("orderItem ==========> " + orderItem); >>>>>> } >>>>>> >>>>>> >>>>>> I've proceed in that way according to what I read from the LinkedList >>>>>> java >>>>>> doc http://docs.oracle.com/javase/**6/docs/api/java/util/** >>>>>> LinkedList.html< >> http://docs.oracle.com/javase/6/docs/api/java/util/LinkedList.html> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Fri, May 10, 2013 at 2:38 PM, Adrian Crum < >>>>>> adrian.crum@sandglass-**software.com < >> adrian.c...@sandglass-software.com>> >>>>>> wrote: >>>>>> >>>>>> Actually, OrderView.groovy line 122 doesn't make any sense. That is >> a >>>>>>> flaw >>>>>>> in the groovy code, not a problem with the List implementation. >>>>>>> >>>>>>> -Adrian >>>>>>> >>>>>>> >>>>>>> On 5/10/2013 1:09 PM, Adrian Crum wrote: >>>>>>> >>>>>>> It appears LinkedList was not a good replacement for FastList. I >> will >>>>>>>> take care of it this weekend. >>>>>>>> >>>>>>>> -Adrian >>>>>>>> >>>>>>>> On 5/10/2013 12:32 PM, Jonatan Soto wrote: >>>>>>>> >>>>>>>> This is a more detailed stack trace btw. Note that once this >> happens is >>>>>>>>> not >>>>>>>>> possible to edit the order anymore. >>>>>>>>> >>>>>>>>> 2013-05-10 12:23:43,348 (ajp-bio-0.0.0.0-8009-exec-****511) [ >>>>>>>>> >>>>>>>>> ScreenFactory.java:130:INFO ] Got 29 screens in 0.0080s from: >>>>>>>>> file:/home/ofbiz/trunk/****applications/order/widget/**** >>>>>>>>> ordermgr/OrderViewScreens.xml >>>>>>>>> >>>>>>>>> >>>>>>>>> 2013-05-10 12:23:43,522 (ajp-bio-0.0.0.0-8009-exec-****511) [ >>>>>>>>> >>>>>>>>> ScriptUtil.java:347:WARN ] ---- runtime exception report >>>>>>>>> ------------------------------****-------------------- Error running >>>>>>>>> script at >>>>>>>>> location >>>>>>>>> [component://order/webapp/****ordermgr/WEB-INF/actions/**** >>>>>>>>> order/OrderView.groovy]: >>>>>>>>> >>>>>>>>> java.util.****ConcurrentModificationExceptio****n Exception: >>>>>>>>> java.util.****ConcurrentModificationExceptio****n Message: null ---- >>>>>>>>> stack >>>>>>>>> trace >>>>>>>>> ------------------------------****----------------------------** >>>>>>>>> --**--- >>>>>>>>> java.util.****ConcurrentModificationExceptio****n >>>>>>>>> java.util.LinkedList$ListItr.****checkForComodification(** >>>>>>>>> LinkedList.java:761) >>>>>>>>> java.util.LinkedList$ListItr.****next(LinkedList.java:696) >>>>>>>>> org.codehaus.groovy.runtime.****DefaultGroovyMethods.each(** >>>>>>>>> DefaultGroovyMethods.java:****1375) >>>>>>>>> org.codehaus.groovy.runtime.****DefaultGroovyMethods.each(** >>>>>>>>> DefaultGroovyMethods.java:****1348) >>>>>>>>> org.codehaus.groovy.runtime.****dgm$162.invoke(Unknown Source) >>>>>>>>> org.codehaus.groovy.runtime.****callsite.PojoMetaMethodSite$** >>>>>>>>> PojoMetaMethodSiteNoUnwrapNoCo****erce.invoke(**** >>>>>>>>> PojoMetaMethodSite.java:271) >>>>>>>>> >>>>>>>>> org.codehaus.groovy.runtime.****callsite.PojoMetaMethodSite.** >>>>>>>>> call(PojoMetaMethodSite.java:****53) >>>>>>>>> org.codehaus.groovy.runtime.****callsite.CallSiteArray.** >>>>>>>>> defaultCall(CallSiteArray.****java:42) >>>>>>>>> org.codehaus.groovy.runtime.****callsite.AbstractCallSite.** >>>>>>>>> call(AbstractCallSite.java:****108) >>>>>>>>> org.codehaus.groovy.runtime.****callsite.AbstractCallSite.** >>>>>>>>> call(AbstractCallSite.java:****116) >>>>>>>>> OrderView.run(OrderView.****groovy:122) >>>>>>>>> org.ofbiz.base.util.****GroovyUtil.****runScriptAtLocation(** >>>>>>>>> GroovyUtil.java:172) >>>>>>>>> org.ofbiz.base.util.****GroovyUtil.****runScriptAtLocation(** >>>>>>>>> GroovyUtil.java:165) >>>>>>>>> org.ofbiz.base.util.****ScriptUtil.executeScript(**** >>>>>>>>> ScriptUtil.java:342) >>>>>>>>> org.ofbiz.base.util.****ScriptUtil.executeScript(**** >>>>>>>>> ScriptUtil.java:324) >>>>>>>>> org.ofbiz.widget.****ModelWidgetAction$Script.** >>>>>>>>> runAction(ModelWidgetAction.****java:414) >>>>>>>>> org.ofbiz.widget.****ModelWidgetAction.****runSubActions(**** >>>>>>>>> ModelWidgetAction.java:114) >>>>>>>>> >>>>>>>>> org.ofbiz.widget.screen.****ModelScreenWidget$Section.** >>>>>>>>> renderWidgetString(****ModelScreenWidget.java:184) >>>>>>>>> org.ofbiz.widget.screen.****ModelScreen.****renderScreenString(**** >>>>>>>>> ModelScreen.java:396) >>>>>>>>> >>>>>>>>> org.ofbiz.widget.screen.****ScreenRenderer.render(** >>>>>>>>> ScreenRenderer.java:135) >>>>>>>>> org.ofbiz.widget.screen.****ScreenRenderer.render(** >>>>>>>>> ScreenRenderer.java:97) >>>>>>>>> org.ofbiz.widget.screen.****MacroScreenViewHandler.render(**** >>>>>>>>> MacroScreenViewHandler.java:****104) >>>>>>>>> org.ofbiz.webapp.control.****RequestHandler.renderView(**** >>>>>>>>> RequestHandler.java:898) >>>>>>>>> >>>>>>>>> org.ofbiz.webapp.control.****RequestHandler.doRequest(**** >>>>>>>>> RequestHandler.java:599) >>>>>>>>> >>>>>>>>> org.ofbiz.webapp.control.****ControlServlet.doGet(** >>>>>>>>> ControlServlet.java:214) >>>>>>>>> org.ofbiz.webapp.control.****ControlServlet.doPost(** >>>>>>>>> ControlServlet.java:86) >>>>>>>>> >> javax.servlet.http.****HttpServlet.service(****HttpServlet.java:641) >>>>>>>>> >> javax.servlet.http.****HttpServlet.service(****HttpServlet.java:722) >>>>>>>>> org.apache.catalina.core.****ApplicationFilterChain.**** >>>>>>>>> internalDoFilter(** >>>>>>>>> ApplicationFilterChain.java:****305) >>>>>>>>> org.apache.catalina.core.****ApplicationFilterChain.****doFilter(** >>>>>>>>> ApplicationFilterChain.java:****210) >>>>>>>>> org.ofbiz.webapp.control.****ContextFilter.doFilter(** >>>>>>>>> ContextFilter.java:314) >>>>>>>>> org.apache.catalina.core.****ApplicationFilterChain.**** >>>>>>>>> internalDoFilter(** >>>>>>>>> ApplicationFilterChain.java:****243) >>>>>>>>> org.apache.catalina.core.****ApplicationFilterChain.****doFilter(** >>>>>>>>> ApplicationFilterChain.java:****210) >>>>>>>>> org.apache.catalina.core.****StandardWrapperValve.invoke(**** >>>>>>>>> StandardWrapperValve.java:222) >>>>>>>>> >>>>>>>>> org.apache.catalina.core.****StandardContextValve.invoke(**** >>>>>>>>> StandardContextValve.java:123) >>>>>>>>> >>>>>>>>> >> org.apache.catalina.****authenticator.****AuthenticatorBase.invoke(*** >>>>>>>>> *AuthenticatorBase.java:472) >>>>>>>>> >>>>>>>>> org.apache.catalina.core.****StandardHostValve.invoke(**** >>>>>>>>> StandardHostValve.java:171) >>>>>>>>> >>>>>>>>> org.apache.catalina.valves.****ErrorReportValve.invoke(**** >>>>>>>>> ErrorReportValve.java:99) >>>>>>>>> >>>>>>>>> org.apache.catalina.core.****StandardEngineValve.invoke(**** >>>>>>>>> StandardEngineValve.java:118) >>>>>>>>> >>>>>>>>> org.apache.catalina.valves.****AccessLogValve.invoke(**** >>>>>>>>> AccessLogValve.java:947) >>>>>>>>> >>>>>>>>> org.apache.catalina.connector.****CoyoteAdapter.service(**** >>>>>>>>> CoyoteAdapter.java:408) >>>>>>>>> >>>>>>>>> org.apache.coyote.ajp.****AjpProcessor.process(**** >>>>>>>>> AjpProcessor.java:200) >>>>>>>>> org.apache.coyote.****AbstractProtocol$**** >>>>>>>>> AbstractConnectionHandler.** >>>>>>>>> process(AbstractProtocol.java:****589) >>>>>>>>> org.apache.tomcat.util.net.****JIoEndpoint$SocketProcessor.**** >>>>>>>>> run(JIoEndpoint.java:310) >>>>>>>>> >>>>>>>>> java.util.concurrent.****ThreadPoolExecutor$Worker.** >>>>>>>>> runTask(ThreadPoolExecutor.****java:886) >>>>>>>>> java.util.concurrent.****ThreadPoolExecutor$Worker.run(** >>>>>>>>> **ThreadPoolExecutor.java:908) >>>>>>>>> >>>>>>>>> java.lang.Thread.run(Thread.****java:662) >>>>>>>>> ------------------------------****----------------------------** >>>>>>>>> --**-------------------- >>>>>>>>> >>>>>>>>> >>>>>>>>> 2013-05-10 12:23:43,522 (ajp-bio-0.0.0.0-8009-exec-****511) [ >>>>>>>>> >>>>>>>>> ModelScreen.java:401:ERROR] Error rendering screen >>>>>>>>> [component://order/widget/****ordermgr/OrderViewScreens.xml#** >>>>>>>>> **OrderHeaderView]: >>>>>>>>> >>>>>>>>> java.lang.****IllegalArgumentException: Error running script at >>>>>>>>> location >>>>>>>>> [component://order/webapp/****ordermgr/WEB-INF/actions/**** >>>>>>>>> order/OrderView.groovy]: >>>>>>>>> >>>>>>>>> java.util.****ConcurrentModificationExceptio****n. Rolling back >>>>>>>>> transaction. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, May 10, 2013 at 1:21 PM, Jonatan Soto < >>>>>>>>> seniledemen...@gmail.com> >>>>>>>>> **wrote: >>>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>>> When cancelling an order I'm getting the following exception using >>>>>>>>>> the >>>>>>>>>> demo (trunk) : >>>>>>>>>> >>>>>>>>>> org.ofbiz.widget.screen.****ScreenRenderException: Error rendering >>>>>>>>>> screen >>>>>>>>>> [component://order/widget/****ordermgr/OrderViewScreens.xml#** >>>>>>>>>> **OrderHeaderView]: >>>>>>>>>> >>>>>>>>>> java.lang.****IllegalArgumentException: Error running script at >>>>>>>>>> location >>>>>>>>>> [component://order/webapp/****ordermgr/WEB-INF/actions/**** >>>>>>>>>> order/OrderView.groovy]: >>>>>>>>>> >>>>>>>>>> java.util.****ConcurrentModificationExceptio****n (Error running >>>>>>>>>> script at >>>>>>>>>> location >>>>>>>>>> [component://order/webapp/****ordermgr/WEB-INF/actions/**** >>>>>>>>>> order/OrderView.groovy]: >>>>>>>>>> >>>>>>>>>> java.util.****ConcurrentModificationExceptio****n) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> If nobody is working with it or something related, I can take a look >>>>>>>>>> at >>>>>>>>>> it >>>>>>>>>> later. >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> ----- >>>>>>>>>> >>>>>>>>>> Jonatan Soto