This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new cfdb2fa  EMPIREDB-306 improved input id placeholders
cfdb2fa is described below

commit cfdb2faa9e583593e629fd81e96079e7466c3c0e
Author: Rainer Döbele <[email protected]>
AuthorDate: Wed Sep 25 09:29:41 2019 +0200

    EMPIREDB-306
    improved input id placeholders
---
 .../empire/jsf2/utils/TagEncodingHelper.java       | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
index 8452b35..9a0f73c 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
@@ -51,6 +51,7 @@ import org.apache.empire.data.ColumnExpr;
 import org.apache.empire.data.DataType;
 import org.apache.empire.data.Record;
 import org.apache.empire.data.RecordData;
+import org.apache.empire.db.DBColumn;
 import org.apache.empire.db.DBDatabase;
 import org.apache.empire.db.DBRecord;
 import org.apache.empire.db.DBRowSet;
@@ -419,14 +420,29 @@ public class TagEncodingHelper implements NamingContainer
             */
         }
     }
+    
+    private static final String PH_COLUMN_NAME = "{column}";  // placeholder 
for column name
+    private static final String PH_COLUMN_FULL = "{COLUMN}";  // placeholder 
for column full name including table
 
     public String completeInputTagId(String id)
     {
         if (StringUtils.isEmpty(id))
             return getColumnName();
-        // check
-        if (id.indexOf("{column}")>0)
-            id = id.replace("{column}", getColumnName());
+        // replace placeholder
+        if (id.indexOf(PH_COLUMN_NAME)>=0)
+        {   // column name only
+            id = id.replace(PH_COLUMN_NAME, getColumnName());
+        }
+        else if (id.indexOf(PH_COLUMN_FULL)>=0) 
+        {   // column full name including table
+            String name= null;
+            Column c = getColumn();
+            if (c instanceof DBColumn)
+                name = ((DBColumn)c).getFullName().replace('.', '_');
+            else if (c!=null)
+                name = c.getName();
+            id = id.replace(PH_COLUMN_FULL, String.valueOf(name));
+        }
         // done 
         return id;
     }

Reply via email to