details:   /erp/devel/pi/rev/fa52b9973b3c
changeset: 6736:fa52b9973b3c
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Mar 19 17:14:18 2010 +0100
summary:   fixes issue 12575: It is neccessary to create a testcase for 
Transient Condition

details:   /erp/devel/pi/rev/a2215203870d
changeset: 6737:a2215203870d
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Mar 19 17:14:43 2010 +0100
summary:   Solve small issue when computing property path and handling of 
_identifier property

diffstat:

 src-test/org/openbravo/test/expression/EvaluationTest.java |  36 +++++++++++++-
 src/org/openbravo/dal/core/DalUtil.java                    |   2 +-
 2 files changed, 36 insertions(+), 2 deletions(-)

diffs (71 lines):

diff -r 46698758f071 -r a2215203870d 
src-test/org/openbravo/test/expression/EvaluationTest.java
--- a/src-test/org/openbravo/test/expression/EvaluationTest.java        Thu Mar 
18 14:49:37 2010 +0100
+++ b/src-test/org/openbravo/test/expression/EvaluationTest.java        Fri Mar 
19 17:14:43 2010 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2008 Openbravo SLU 
+ * All portions are Copyright (C) 2008-2010 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -29,6 +29,8 @@
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.model.ad.datamodel.Table;
 import org.openbravo.model.ad.system.Client;
+import org.openbravo.model.common.order.Order;
+import org.openbravo.model.common.order.OrderLine;
 import org.openbravo.test.base.BaseTest;
 
 /**
@@ -67,4 +69,36 @@
     }
     assertTrue(found);
   }
+
+  /**
+   * Tests https://issues.openbravo.com/view.php?id=12575 It is neccessary to 
create a testcase for
+   * Transient Condition
+   */
+  public void testOrderEvaluation() {
+    setBigBazaarUserContext();
+    addReadWriteAccess(Order.class);
+    addReadWriteAccess(OrderLine.class);
+
+    final String script = "var orderLines = orderLineList.toArray();"
+        + "function compute() {for (var i = 0; i < orderLines.length; i++) 
{return orderLines[i].getLineNo() > 0;}; return false;};"
+        + "compute();";
+
+    final List<Order> orders = 
OBDal.getInstance().createCriteria(Order.class).list();
+    int cnt = 0;
+    for (final Order o : orders) {
+      if ((cnt % 2) == 0) {
+        o.getOrderLineList().clear();
+      }
+      final Boolean result = Evaluator.getInstance().evaluateBoolean(o, 
script);
+      Boolean check = false;
+      for (OrderLine ol : o.getOrderLineList()) {
+        check |= ol.getLineNo() > 0;
+      }
+      assertEquals(result, check);
+      cnt++;
+    }
+    assertTrue(cnt > 0);
+    // prevent orders really to be updated
+    OBDal.getInstance().rollbackAndClose();
+  }
 }
\ No newline at end of file
diff -r 46698758f071 -r a2215203870d src/org/openbravo/dal/core/DalUtil.java
--- a/src/org/openbravo/dal/core/DalUtil.java   Thu Mar 18 14:49:37 2010 +0100
+++ b/src/org/openbravo/dal/core/DalUtil.java   Fri Mar 19 17:14:43 2010 +0100
@@ -108,7 +108,7 @@
       // NOTE disabled for now, there is one special case: AD_Column.IDENTIFIER
       // which is NOT HANDLED
       if (part.equals(IDENTIFIER_PART_PATH)) {
-        return bob.getIdentifier();
+        return currentBob.getIdentifier();
       }
       final Entity currentEntity = currentBob.getEntity();
       if (!currentEntity.hasProperty(part)) {

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to