I hope that groovy does collects memory after each iteration.
otherwise there would be a lot of wasted memory.
lektran@apache.org sent the following on 8/1/2008 4:19 PM:
> Author: lektran
> Date: Fri Aug 1 16:19:29 2008
> New Revision: 681898
>
> URL: http://svn.apache.org/viewvc?rev=681898&view=rev
> Log:
> Some sort of problem with variable scope when using methods written in groovy scripts,
I don't really understand it but the problem is fixed at least
>
> Modified:
> ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy
>
> Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy?rev=681898&r1=681897&r2=681898&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy
(original)
> +++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy
Fri Aug 1 16:19:29 2008
> @@ -40,13 +40,13 @@
> import org.ofbiz.order.shoppingcart.ShoppingCartEvents;
>
> String buildNext(Map map, List order, String current, String prefix, Map featureTypes)
{
> - ct = 0;
> - buf = new StringBuffer();
> + def ct = 0;
> + def buf = new StringBuffer();
> buf.append("function listFT" + current + prefix + "() { ");
> buf.append("document.forms[\"addform\"].elements[\"FT" + current + "\"].options.length
= 1;");
> buf.append("document.forms[\"addform\"].elements[\"FT" + current + "\"].options[0]
= new Option(\"" + featureTypes[current] + "\",\"\",true,true);");
> map.each { key, value ->
> - optValue = null;
> + def optValue = null;
>
> if (order.indexOf(current) == (order.size()-1)) {
> optValue = value.iterator().next();
> @@ -61,8 +61,8 @@
> if (order.indexOf(current) < (order.size()-1)) {
> ct = 0;
> map.each { key, value ->
> - nextOrder = order.get(order.indexOf(current)+1);
> - newPrefix = prefix + "_" + ct;
> + def nextOrder = order.get(order.indexOf(current)+1);
> + def newPrefix = prefix + "_" + ct;
> buf.append(buildNext(value, order, nextOrder, newPrefix, featureTypes));
> ct++;
> }
>
>
>
>
>
|