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 312fca5  EMPIREDB-282 JSF: added minimum integer digits to number 
formatting
312fca5 is described below

commit 312fca5e8b5cac5985eac08944f7155f0b2bb731
Author: Rainer Döbele <[email protected]>
AuthorDate: Wed Oct 23 17:22:09 2019 +0200

    EMPIREDB-282
    JSF: added minimum integer digits to number formatting
---
 .../java/org/apache/empire/jsf2/controls/TextInputControl.java   | 7 +++++++
 .../java/org/apache/empire/jsf2/utils/TagEncodingHelper.java     | 9 ++++++++-
 empire-db/src/main/java/org/apache/empire/data/Column.java       | 1 +
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
index 0c57401..776e09b 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
@@ -514,6 +514,13 @@ public class TextInputControl extends InputControl
             nf.setMaximumFractionDigits(fractionDigits);
             nf.setMinimumFractionDigits(fractionDigits);
         }
+        // IntegerDigits (left-padding)
+        Object intDigits = column.getAttribute(Column.COLATTR_INTEGER_DIGITS);
+        if (intDigits != null) {
+            int integerDigits = ObjectUtils.getInteger(intDigits);
+            if (integerDigits>0)
+                nf.setMinimumIntegerDigits(integerDigits);
+        }
         // Number format
         return nf;
     }
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 e30a44d..6c86fdf 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
@@ -966,6 +966,13 @@ public class TagEncodingHelper implements NamingContainer
             return ((ColumnExprWrapper) col).getExpr();
         return col;
     }
+    
+    protected Column unwrapColumn(Column col)
+    {
+        if (col instanceof ColumnExprWrapper)
+            return ((ColumnExprWrapper) col).getSourceColumn();
+        return col;
+    }
 
     protected Object findRecord()
     {
@@ -1072,7 +1079,7 @@ public class TagEncodingHelper implements NamingContainer
         if (getColumn() != null)
         { // Do we have a record?
             if (getRecord() instanceof Record)
-                return ((Record) record).getFieldOptions(column);
+                return ((Record) record).getFieldOptions(unwrapColumn(column));
             // get From Column
             return column.getOptions();
         }
diff --git a/empire-db/src/main/java/org/apache/empire/data/Column.java 
b/empire-db/src/main/java/org/apache/empire/data/Column.java
index dd7d0dd..622ac01 100644
--- a/empire-db/src/main/java/org/apache/empire/data/Column.java
+++ b/empire-db/src/main/java/org/apache/empire/data/Column.java
@@ -44,6 +44,7 @@ public interface Column extends ColumnExpr
     public static final String COLATTR_NUMBER_TYPE      = "numberType";        
     // "Integer", "Currency", "Percent"  
     public static final String COLATTR_NUMBER_GROUPSEP  = 
"numberGroupSeparator";   // boolean (true or false)
     public static final String COLATTR_FRACTION_DIGITS  = 
"numberFractionDigits";   // integer
+    public static final String COLATTR_INTEGER_DIGITS   = 
"numberIntegerDigits";    // integer
     public static final String COLATTR_CURRENCY_CODE    = "currencyCode";      
     // "ISO 4217 code of the currency"
     public static final String COLATTR_DATETIMEPATTERN  = "dateTimePattern";   
     // default is yyyy-MM-dd HH:mm:ss
 

Reply via email to