You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2018/03/10 17:10:11 UTC
empire-db git commit: EMPIREDB-268 improved valdity check for columns
Repository: empire-db
Updated Branches:
refs/heads/master 805278fa4 -> 7fd982eea
EMPIREDB-268
improved valdity check for columns
Project: http://git-wip-us.apache.org/repos/asf/empire-db/repo
Commit: http://git-wip-us.apache.org/repos/asf/empire-db/commit/7fd982ee
Tree: http://git-wip-us.apache.org/repos/asf/empire-db/tree/7fd982ee
Diff: http://git-wip-us.apache.org/repos/asf/empire-db/diff/7fd982ee
Branch: refs/heads/master
Commit: 7fd982eea5e0e7cfc0289820dc6ae65ba9cc820a
Parents: 805278f
Author: Rainer Döbele <do...@apache.org>
Authored: Sat Mar 10 18:11:05 2018 +0100
Committer: Rainer Döbele <do...@apache.org>
Committed: Sat Mar 10 18:11:05 2018 +0100
----------------------------------------------------------------------
.../apache/empire/jsf2/components/InputTag.java | 13 +++++-
.../main/java/org/apache/empire/db/DBQuery.java | 43 +++++++++++++++-----
2 files changed, 43 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/empire-db/blob/7fd982ee/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
----------------------------------------------------------------------
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
index 80d0da7..8ee076d 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
@@ -152,8 +152,17 @@ public class InputTag extends UIInput implements NamingContainer
Object record = helper.getRecord();
if (record!=null && (record instanceof DBRecord))
{ // Record is not null
- String rowsetName = (((DBRecord)record).isValid()) ? ((DBRecord)record).getRowSet().getName() : "[INVALID]";
- log.warn("Column {} is not visible for record of {} and will not be rendered!", column.getName(), rowsetName);
+ if (((DBRecord)record).isValid())
+ { // Check if column exists
+ if (((DBRecord)record).getFieldIndex(column)<0)
+ throw new InvalidArgumentException("column", column.getName());
+ // not visible
+ log.info("Column {} is not visible for record of {} and will not be rendered!", column.getName(), ((DBRecord)record).getRowSet().getName());
+ }
+ else
+ { // Record not valid
+ log.warn("Invalid Record provided for column {}. Input will not be rendered!", column.getName());
+ }
}
else
{ // Column not visible
http://git-wip-us.apache.org/repos/asf/empire-db/blob/7fd982ee/empire-db/src/main/java/org/apache/empire/db/DBQuery.java
----------------------------------------------------------------------
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBQuery.java b/empire-db/src/main/java/org/apache/empire/db/DBQuery.java
index aaab557..0615956 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBQuery.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBQuery.java
@@ -60,10 +60,10 @@ public class DBQuery extends DBRowSet
private static AtomicInteger queryCount = new AtomicInteger(0);
- protected DBCommandExpr cmdExpr;
- protected DBColumn[] keyColumns = null;
- protected DBQueryColumn[] queryColumns = null;
- protected String alias;
+ protected final DBCommandExpr cmdExpr;
+ protected final DBColumn[] keyColumns;
+ protected final DBQueryColumn[] queryColumns;
+ protected final String alias;
/**
* Constructor initializes the query object.
@@ -79,7 +79,7 @@ public class DBQuery extends DBRowSet
this.cmdExpr = cmd;
// Set Query Columns
DBColumnExpr[] exprList = cmd.getSelectExprList();
- queryColumns = new DBQueryColumn[exprList.length];
+ this.queryColumns = new DBQueryColumn[exprList.length];
for (int i = 0; i < exprList.length; i++)
{ // Init Columns
columns.add(exprList[i].getUpdateColumn());
@@ -164,7 +164,7 @@ public class DBQuery extends DBRowSet
@Override
public String getName()
{
- return null;
+ return alias;
}
/**
@@ -197,11 +197,10 @@ public class DBQuery extends DBRowSet
}
/**
- * This function searchs for equal columns given by the
- * specified DBColumnExpr object.
+ * This function provides the query column object for a particular query command expression
*
* @param expr the DBColumnExpr object
- * @return the located column
+ * @return the query column
*/
public DBQueryColumn findQueryColumn(DBColumnExpr expr)
{
@@ -215,10 +214,10 @@ public class DBQuery extends DBRowSet
}
/**
- * This function searchs for a query column by name
+ * This function provides the query column object for a particular query command expression
*
* @param the column name
- * @return the located column
+ * @return the query column
*/
public DBQueryColumn findQueryColumn(String name)
{
@@ -232,6 +231,28 @@ public class DBQuery extends DBRowSet
}
/**
+ * This is a convenience shortcut for findQueryColumn
+ *
+ * @param expr the DBColumnExpr object
+ * @return the query column
+ */
+ public DBQueryColumn column(DBColumnExpr expr)
+ {
+ return findQueryColumn(expr);
+ }
+
+ /**
+ * This is a convenience shortcut for findQueryColumn
+ *
+ * @param the column name
+ * @return the located column
+ */
+ public DBQueryColumn column(String name)
+ {
+ return findQueryColumn(name);
+ }
+
+ /**
* return query key columns
*/
@Override