From 4227d852a0a9c9d11ab69199ff1c409e05ee6e0e Mon Sep 17 00:00:00 2001 From: teo_sarca Date: Fri, 6 Jun 2008 07:31:24 +0000 Subject: [PATCH] [ 1981760 ] Improve Query class * org.compiere.model.Query.Query(String tableName, String whereClause, String trxName) ctor should take ctx parameter too, bug introduced in rev. 5343 --- base/src/org/compiere/model/Query.java | 5 +++-- extend/src/test/functional/QueryTest.java | 16 ++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/base/src/org/compiere/model/Query.java b/base/src/org/compiere/model/Query.java index bed49dd317..a21d9a2f37 100644 --- a/base/src/org/compiere/model/Query.java +++ b/base/src/org/compiere/model/Query.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; +import java.util.Properties; import java.util.logging.Level; import org.adempiere.exceptions.DBException; @@ -60,8 +61,8 @@ public class Query { this.trxName = trxName; } - public Query(String tableName, String whereClause, String trxName) { - this(MTable.get(Env.getCtx(), tableName), whereClause, trxName); + public Query(Properties ctx, String tableName, String whereClause, String trxName) { + this(MTable.get(ctx, tableName), whereClause, trxName); if (this.table == null) throw new IllegalArgumentException("Table Name Not Found - "+tableName); } diff --git a/extend/src/test/functional/QueryTest.java b/extend/src/test/functional/QueryTest.java index c51d69b241..6498decf89 100644 --- a/extend/src/test/functional/QueryTest.java +++ b/extend/src/test/functional/QueryTest.java @@ -22,7 +22,7 @@ public class QueryTest extends AdempiereTestCase { public void testQuery_NoTable() throws Exception { boolean exThrowed = false; try { - new Query("NO_TABLE_DEFINED", null, getTrxName()); + new Query(getCtx(), "NO_TABLE_DEFINED", null, getTrxName()); } catch (RuntimeException e) { exThrowed = true; @@ -31,7 +31,7 @@ public class QueryTest extends AdempiereTestCase { } public void testList() throws Exception { - List list = new Query("AD_Table", "TableName IN (?,?)", getTrxName()) + List list = new Query(getCtx(), "AD_Table", "TableName IN (?,?)", getTrxName()) .setParameters(new Object[]{"C_Invoice", "M_InOut"}) .setOrderBy("TableName") .list(); @@ -43,7 +43,7 @@ public class QueryTest extends AdempiereTestCase { public void testScroll() throws Exception { POResultSet rs = null; try { - rs = new Query("AD_Table", "TableName IN (?,?)", getTrxName()) + rs = new Query(getCtx(), "AD_Table", "TableName IN (?,?)", getTrxName()) .setParameters(new Object[]{"C_Invoice", "M_InOut"}) .setOrderBy("TableName") .scroll(); @@ -70,7 +70,7 @@ public class QueryTest extends AdempiereTestCase { } public void testIterate() throws Exception { - Iterator it = new Query("AD_Table", "TableName IN (?,?)", getTrxName()) + Iterator it = new Query(getCtx(), "AD_Table", "TableName IN (?,?)", getTrxName()) .setParameters(new Object[]{"C_Invoice", "M_InOut"}) .setOrderBy("TableName") .iterate(); @@ -92,7 +92,7 @@ public class QueryTest extends AdempiereTestCase { } public void testCount() throws Exception { - int count = new Query("AD_Table", "TableName IN (?,?)", getTrxName()) + int count = new Query(getCtx(), "AD_Table", "TableName IN (?,?)", getTrxName()) .setParameters(new Object[]{"C_Invoice", "M_InOut"}) .setOrderBy("TableName") .count(); @@ -102,7 +102,7 @@ public class QueryTest extends AdempiereTestCase { public void testCount_BadSQL() throws Exception { boolean exThrowed = false; try { - new Query("AD_Table", "TableName IN (?,?) AND BAD_SQL", getTrxName()) + new Query(getCtx(), "AD_Table", "TableName IN (?,?) AND BAD_SQL", getTrxName()) .setParameters(new Object[]{"C_Invoice", "M_InOut"}) .setOrderBy("TableName") .count(); @@ -114,12 +114,12 @@ public class QueryTest extends AdempiereTestCase { } public void testCount_NoValues() throws Exception { - int count = new Query("AD_Table", "1=2", getTrxName()).count(); + int count = new Query(getCtx(), "AD_Table", "1=2", getTrxName()).count(); assertEquals("Counter should be ZERO", 0, count); } public void testFirst() throws Exception { - MTable t = new Query("AD_Table", "TableName IN (?,?)", getTrxName()) + MTable t = new Query(getCtx(), "AD_Table", "TableName IN (?,?)", getTrxName()) .setParameters(new Object[]{"C_Invoice", "M_InOut"}) .setOrderBy("TableName") .first();