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® 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