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