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 < [email protected]> wrote: > Is there a Jira for that, should we not commit and backport? > > Jacques > > From: "Adrian Crum" <[email protected]> > > 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 < > >> [email protected]> 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 < > [email protected]>> > >>>> 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 < > >>>>>>> [email protected]> > >>>>>>> **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 > >>>>>>>> > >>>>>>>> > >>>>>>>> > >> > > > -- ----- Jonatan Soto
