[ 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
This commit is contained in:
teo_sarca 2008-06-06 07:31:24 +00:00
parent 96d1d0ea48
commit 4227d852a0
2 changed files with 11 additions and 10 deletions

View File

@ -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);
}

View File

@ -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<MTable> list = new Query("AD_Table", "TableName IN (?,?)", getTrxName())
List<MTable> 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<MTable> 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<MTable> it = new Query("AD_Table", "TableName IN (?,?)", getTrxName())
Iterator<MTable> 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();