Re: Order cancellation exception

2013-05-13 Thread Jonatan Soto
That looks good too and more cleaner. Thanks Scott.

I will try it and provide a new patch asap containing that approach.


On Mon, May 13, 2013 at 5:44 AM, Scott Gray scott.g...@hotwaxmedia.comwrote:

 FYI, you can also use some of groovy's other collection methods:
 // Retrieve all non-promo items that aren't cancelled
 context.orderItemListFiltered = orderReadHelper.getOrderItems().findAll {
 item -
   (item.isPromo == null || item.isPromo == 'N')  
 !(item.statusId.equals('ITEM_CANCELLED'))
 }

 Regards
 Scott

 On 12/05/2013, at 12:39 AM, Jacques Le Roux wrote:

  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.ConcurrentModificationException Exception:
  java.util.ConcurrentModificationException Message: null
 
  stack
  trace
  --**
  --**---
  java.util.ConcurrentModificationException
  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(**
  

Re: Order cancellation exception

2013-05-12 Thread Scott Gray
FYI, you can also use some of groovy's other collection methods:
// Retrieve all non-promo items that aren't cancelled
context.orderItemListFiltered = orderReadHelper.getOrderItems().findAll { item 
-
  (item.isPromo == null || item.isPromo == 'N')   
!(item.statusId.equals('ITEM_CANCELLED'))
}

Regards
Scott

On 12/05/2013, at 12:39 AM, Jacques Le Roux wrote:

 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.ConcurrentModificationException Exception:
 java.util.ConcurrentModificationException Message: null 
 stack
 trace
 --**
 --**---
 java.util.ConcurrentModificationException
 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$**
 PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(
 PojoMetaMethodSite.java:271)
 
 org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.**
 

Re: Order cancellation exception

2013-05-11 Thread Jonatan Soto
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




On Fri, May 10, 2013 at 2:38 PM, Adrian Crum 
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)

 

Re: Order cancellation exception

2013-05-11 Thread Adrian Crum

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




On Fri, May 10, 2013 at 2:38 PM, Adrian Crum 
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)

Re: Order cancellation exception

2013-05-11 Thread Jonatan Soto
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.htmlhttp://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.ConcurrentModificationException Exception:
 java.util.ConcurrentModificationException Message: null 
 stack
 trace
 --**
 --**---
 java.util.ConcurrentModificationException
 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$**
 PojoMetaMethodSiteNoUnwrapNoCoerce.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)

 

Re: Order cancellation exception

2013-05-11 Thread Adrian Crum

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.htmlhttp://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.ConcurrentModificationException Exception:
java.util.ConcurrentModificationException Message: null 
stack
trace
--**
--**---
java.util.ConcurrentModificationException
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$**
PojoMetaMethodSiteNoUnwrapNoCoerce.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)


Re: Order cancellation exception

2013-05-11 Thread Jacques Le Roux
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.htmlhttp://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.ConcurrentModificationException Exception:
 java.util.ConcurrentModificationException Message: null 
 stack
 trace
 --**
 --**---
 java.util.ConcurrentModificationException
 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$**
 PojoMetaMethodSiteNoUnwrapNoCoerce.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)
 

Re: Order cancellation exception

2013-05-11 Thread Jonatan Soto
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.ConcurrentModificationException Exception:
  java.util.ConcurrentModificationException Message: null
 
  stack
  trace
  --**
  --**---
  java.util.ConcurrentModificationException
  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$**
  PojoMetaMethodSiteNoUnwrapNoCoerce.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)
  

Re: Order cancellation exception

2013-05-11 Thread Jacques Le Roux
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.ConcurrentModificationException Exception:
 java.util.ConcurrentModificationException Message: null 
 stack
 trace
 --**
 --**---
 java.util.ConcurrentModificationException
 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$**
 PojoMetaMethodSiteNoUnwrapNoCoerce.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)
 

Order cancellation exception

2013-05-10 Thread Jonatan Soto
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.ConcurrentModificationException (Error running script at location
[component://order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy]:
java.util.ConcurrentModificationException)


If nobody is working with it or something related, I can take a look at it
later.

Cheers,

-- 
-

Jonatan Soto


Re: Order cancellation exception

2013-05-10 Thread Jacques Le Roux
I get the same at
https://demo-trunk.ofbiz.apache.org/ordermgr/control/orderview?orderId=WSCO10001

Could be related to recent changes

Jacques

From: Jonatan Soto seniledemen...@gmail.com
 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.ConcurrentModificationException (Error running script at location
 [component://order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy]:
 java.util.ConcurrentModificationException)
 
 
 If nobody is working with it or something related, I can take a look at it
 later.
 
 Cheers,
 
 -- 
 -
 
 Jonatan Soto



Re: Order cancellation exception

2013-05-10 Thread Jonatan Soto
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.ConcurrentModificationException Exception:
java.util.ConcurrentModificationException Message: null  stack trace
---
java.util.ConcurrentModificationException
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$PojoMetaMethodSiteNoUnwrapNoCoerce.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.ConcurrentModificationException. Rolling back transaction.





On Fri, May 10, 2013 at 1:21 PM, Jonatan 

Re: Order cancellation exception

2013-05-10 Thread Adrian Crum
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.ConcurrentModificationException Exception:
java.util.ConcurrentModificationException Message: null  stack trace
---
java.util.ConcurrentModificationException
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$PojoMetaMethodSiteNoUnwrapNoCoerce.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

Re: Order cancellation exception

2013-05-10 Thread Adrian Crum
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.ConcurrentModificationException Exception:
java.util.ConcurrentModificationException Message: null  stack trace
---
java.util.ConcurrentModificationException
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$PojoMetaMethodSiteNoUnwrapNoCoerce.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