You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2023/09/20 18:17:08 UTC

[causeway] branch CAUSEWAY-3592 updated (53ee8315cd -> 98e144d8ea)

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

danhaywood pushed a change to branch CAUSEWAY-3592
in repository https://gitbox.apache.org/repos/asf/causeway.git


 discard 53ee8315cd CAUSEWAY-3592: only install MAxLength facet from JDO column
 discard 9df5fa6254 CAUSEWAY-3592: adds support to derive MinFractionalDigitsFacet
 discard dc9594d14c CAUSEWAY-3593: - removes class accidentally added
 discard e1a61f6ef3 CAUSEWAY-3593: polishes a little
 discard 241c2f8e36 CAUSEWAY-3593: adds refiner for MaxLengthJpaColumnAnnotationFacetFactory also
 discard fb7b6cd0be CAUSEWAY-3593: makes JPA-specific facet factories mirror JDO
     add 8dc0a60747 CAUSEWAY-3582: just removing unused method (dead refactoring end)
     add aa243b2bf6 CAUSEWAY-3593: makes JPA-specific facet factories mirror JDO
     add 202bf32653 CAUSEWAY-3593: adds refiner for MaxLengthJpaColumnAnnotationFacetFactory also
     add d633787c06 CAUSEWAY-3593: polishes a little
     add fa9b9811d4 CAUSEWAY-3593: - removes class accidentally added
     add 8c7ada36c8 CAUSEWAY-3593: only install MAxLength facet from JDO column
     add 3ba110b136 CAUSEWAY-3593: fixes derivation of MaxTotalDigitsFacet for JPA and JDO columns
     add 4574b07d4b Merge pull request #1883 from apache/CAUSEWAY-3593
     new 98e144d8ea CAUSEWAY-3592: adds support to derive MinFractionalDigitsFacet

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (53ee8315cd)
            \
             N -- N -- N   refs/heads/CAUSEWAY-3592 (98e144d8ea)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../metamodel/facets/members/cssclassfa/CssClassFaFactory.java |  7 -------
 .../facets/objectvalue/digits/MaxTotalDigitsFacet.java         | 10 ++++++++++
 .../MaxTotalDigitsFacetFromValueSemanticsAnnotation.java       |  9 +++------
 .../column/MaxTotalDigitsFacetFromJdoColumnAnnotation.java     |  7 +++----
 .../column/MaxTotalDigitsFacetFromJpaColumnAnnotation.java     |  8 ++++----
 .../MinFractionalDigitsFacetFromJpaColumnAnnotation.java       |  4 ++--
 6 files changed, 22 insertions(+), 23 deletions(-)


[causeway] 01/01: CAUSEWAY-3592: adds support to derive MinFractionalDigitsFacet

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch CAUSEWAY-3592
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 98e144d8ea31ef8af471f9a4768e42721c1f0683
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Sep 20 16:57:38 2023 +0100

    CAUSEWAY-3592: adds support to derive MinFractionalDigitsFacet
    
    ... from @Digits#fraction, or JDO/JPA @Column#scale, if configured
    
    (cherry picked from commit 1750a61077d4710dbe71d14b9eaf2ee86f8cbe2c)
---
 .../core/config/CausewayConfiguration.java         |  3 ++-
 .../digits/MinFractionalDigitsFacetAbstract.java   | 18 +++++++++++++++
 ...tsFacetFromJavaxValidationDigitsAnnotation.java |  9 +++-----
 ...sFacetFromJavaxValidationDigitsAnnotation.java} | 19 ++++++++-------
 .../ValueSemanticsAnnotationFacetFactory.java      | 13 ++++++++---
 ...DecimalFromJdoColumnAnnotationFacetFactory.java | 11 +++++----
 ...actionalDigitsFacetFromJdoColumnAnnotation.java | 11 ++++-----
 ...ctionalDigitsFacetFromJdoColumnAnnotation.java} | 21 ++++++++---------
 ...DecimalFromJpaColumnAnnotationFacetFactory.java | 11 +++++----
 ...ctionalDigitsFacetFromJpaColumnAnnotation.java} | 27 +++++++++++-----------
 10 files changed, 83 insertions(+), 60 deletions(-)

diff --git a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
index 942c2c804b..60e9622b8e 100644
--- a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
+++ b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
@@ -43,11 +43,13 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 import javax.activation.DataSource;
 import javax.inject.Named;
+import javax.persistence.Column;
 import javax.validation.Constraint;
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
 import javax.validation.Payload;
 import javax.validation.Valid;
+import javax.validation.constraints.Digits;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotEmpty;
@@ -1630,7 +1632,6 @@ public class CausewayConfiguration {
                      */
                     private boolean variablesClause = true;
                 }
-
             }
         }
 
diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/objectvalue/digits/MinFractionalDigitsFacetAbstract.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/objectvalue/digits/MinFractionalDigitsFacetAbstract.java
index 394eeb267b..496603acb4 100644
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/objectvalue/digits/MinFractionalDigitsFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/objectvalue/digits/MinFractionalDigitsFacetAbstract.java
@@ -18,6 +18,7 @@
  */
 package org.apache.causeway.core.metamodel.facets.objectvalue.digits;
 
+import java.util.Optional;
 import java.util.function.BiConsumer;
 
 import org.apache.causeway.core.metamodel.facetapi.Facet;
@@ -68,4 +69,21 @@ implements MinFractionalDigitsFacet {
         visitor.accept("minFractionalDigits", String.valueOf(minFractionalDigits));
     }
 
+    /**
+     * If equal, first argument wins over second.
+     */
+    public static Optional<MinFractionalDigitsFacet> minimum(
+            final Optional<MinFractionalDigitsFacet> a,
+            final Optional<MinFractionalDigitsFacet> b) {
+        if(b.isEmpty()) {
+            return a;
+        }
+        if(a.isEmpty()) {
+            return b;
+        }
+        return a.get().getMinFractionalDigits() <= b.get().getMinFractionalDigits()
+                ? a
+                : b;
+    }
+
 }
diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java
index aacb9b483a..abd4b269bb 100644
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java
@@ -34,15 +34,12 @@ extends MaxFractionalDigitsFacetAbstract {
              final FacetHolder holder) {
 
          return digitsIfAny
-         .map(digits->{
-             return new MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation(
-                     digits.fraction(), holder);
-         });
+         .map(digits-> new MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation(digits.fraction(), holder));
     }
 
     private MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation(
-            final int maxFractionalDigits, final FacetHolder holder) {
-        super(maxFractionalDigits, holder);
+            final int fraction, final FacetHolder holder) {
+        super(fraction, holder);
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MinFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java
similarity index 68%
copy from core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java
copy to core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MinFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java
index aacb9b483a..f889030c80 100644
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/MinFractionalDigitsFacetFromJavaxValidationDigitsAnnotation.java
@@ -25,24 +25,23 @@ import javax.validation.constraints.Digits;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxFractionalDigitsFacet;
 import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxFractionalDigitsFacetAbstract;
+import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MinFractionalDigitsFacet;
+import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MinFractionalDigitsFacetAbstract;
 
-public class MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation
-extends MaxFractionalDigitsFacetAbstract {
+public class MinFractionalDigitsFacetFromJavaxValidationDigitsAnnotation
+extends MinFractionalDigitsFacetAbstract {
 
-     public static Optional<MaxFractionalDigitsFacet> create(
+     public static Optional<MinFractionalDigitsFacet> create(
              final Optional<Digits> digitsIfAny,
              final FacetHolder holder) {
 
          return digitsIfAny
-         .map(digits->{
-             return new MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation(
-                     digits.fraction(), holder);
-         });
+         .map(digits-> new MinFractionalDigitsFacetFromJavaxValidationDigitsAnnotation(digits.fraction(), holder));
     }
 
-    private MaxFractionalDigitsFacetFromJavaxValidationDigitsAnnotation(
-            final int maxFractionalDigits, final FacetHolder holder) {
-        super(maxFractionalDigits, holder);
+    private MinFractionalDigitsFacetFromJavaxValidationDigitsAnnotation(
+            final int fraction, final FacetHolder holder) {
+        super(fraction, holder);
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/ValueSemanticsAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/ValueSemanticsAnnotationFacetFactory.java
index 04dcfaedfd..4b713db47a 100644
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/ValueSemanticsAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/ValueSemanticsAnnotationFacetFactory.java
@@ -30,6 +30,7 @@ import org.apache.causeway.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.causeway.core.metamodel.facets.TypedHolderAbstract;
 import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxFractionalDigitsFacetAbstract;
 import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxTotalDigitsFacetAbstract;
+import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MinFractionalDigitsFacetAbstract;
 import org.apache.causeway.core.metamodel.specloader.validator.ValidationFailureUtils;
 
 import lombok.val;
@@ -119,9 +120,15 @@ extends FacetFactoryAbstract {
                         ));
 
         addFacetIfPresent(
-                MinFractionalDigitsFacetFromValueSemanticsAnnotation
-                .create(valueSemanticsIfAny, facetHolder));
-
+                MinFractionalDigitsFacetAbstract.minimum(
+                        MinFractionalDigitsFacetFromValueSemanticsAnnotation
+                                .create(valueSemanticsIfAny, facetHolder),
+                        // support for @javax.validation.constraints.Digits (if supported)
+                        getConfiguration().getCore().getMetaModel().getProgrammingModel().isUseScaleForMinFractionalFacet()
+                                ? MinFractionalDigitsFacetFromJavaxValidationDigitsAnnotation
+                                            .create(digitsIfAny, facetHolder)
+                                : Optional.empty()
+                ));
     }
 
     private void processTemporalFormat(
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/BigDecimalFromJdoColumnAnnotationFacetFactory.java b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/BigDecimalFromJdoColumnAnnotationFacetFactory.java
index 7b861766aa..4ddd40090c 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/BigDecimalFromJdoColumnAnnotationFacetFactory.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/BigDecimalFromJdoColumnAnnotationFacetFactory.java
@@ -58,12 +58,15 @@ implements MetaModelRefiner {
         val jdoColumnIfAny = processMethodContext.synthesizeOnMethod(Column.class);
 
         addFacetIfPresent(
-                MaxTotalDigitsFacetFromJdoColumnAnnotation
-                .create(jdoColumnIfAny, holder));
+                MaxTotalDigitsFacetFromJdoColumnAnnotation.create(jdoColumnIfAny, holder));
 
         addFacetIfPresent(
-                MaxFractionalDigitsFacetFromJdoColumnAnnotation
-                .create(jdoColumnIfAny, holder));
+                MaxFractionalDigitsFacetFromJdoColumnAnnotation.create(jdoColumnIfAny, holder));
+
+        if (getConfiguration().getCore().getMetaModel().getProgrammingModel().isUseScaleForMinFractionalFacet()) {
+            addFacetIfPresent(
+                    MinFractionalDigitsFacetFromJdoColumnAnnotation.create(jdoColumnIfAny, holder));
+        }
 
     }
 
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java
index a20e3eb613..5c27d8f4e9 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java
@@ -30,15 +30,12 @@ public class MaxFractionalDigitsFacetFromJdoColumnAnnotation
 extends MaxFractionalDigitsFacetAbstract {
 
     public static Optional<MaxFractionalDigitsFacet> create(
-            final Optional<Column> jdoColumnIfAny,
+            final Optional<Column> columnIfAny,
             final FacetHolder holder) {
 
-        return jdoColumnIfAny
-                .filter(jdoColumn->jdoColumn.scale()>=0)
-                .map(jdoColumn->{
-                    return new MaxFractionalDigitsFacetFromJdoColumnAnnotation(
-                            jdoColumn.scale(), holder);
-                });
+        return columnIfAny
+                .filter(column->column.scale()>=0)
+                .map(column-> new MaxFractionalDigitsFacetFromJdoColumnAnnotation(column.scale(), holder));
     }
 
     private MaxFractionalDigitsFacetFromJdoColumnAnnotation(
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MinFractionalDigitsFacetFromJdoColumnAnnotation.java
similarity index 67%
copy from persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java
copy to persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MinFractionalDigitsFacetFromJdoColumnAnnotation.java
index a20e3eb613..69ba7cdf51 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MinFractionalDigitsFacetFromJdoColumnAnnotation.java
@@ -25,23 +25,22 @@ import javax.jdo.annotations.Column;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxFractionalDigitsFacet;
 import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxFractionalDigitsFacetAbstract;
+import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MinFractionalDigitsFacet;
+import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MinFractionalDigitsFacetAbstract;
 
-public class MaxFractionalDigitsFacetFromJdoColumnAnnotation
-extends MaxFractionalDigitsFacetAbstract {
+public class MinFractionalDigitsFacetFromJdoColumnAnnotation
+extends MinFractionalDigitsFacetAbstract {
 
-    public static Optional<MaxFractionalDigitsFacet> create(
-            final Optional<Column> jdoColumnIfAny,
+    public static Optional<MinFractionalDigitsFacet> create(
+            final Optional<Column> columnIfAny,
             final FacetHolder holder) {
 
-        return jdoColumnIfAny
-                .filter(jdoColumn->jdoColumn.scale()>=0)
-                .map(jdoColumn->{
-                    return new MaxFractionalDigitsFacetFromJdoColumnAnnotation(
-                            jdoColumn.scale(), holder);
-                });
+        return columnIfAny
+                .filter(column->column.scale()>=0)
+                .map(column-> new MinFractionalDigitsFacetFromJdoColumnAnnotation(column.scale(), holder));
     }
 
-    private MaxFractionalDigitsFacetFromJdoColumnAnnotation(
+    private MinFractionalDigitsFacetFromJdoColumnAnnotation(
             final int scale, final FacetHolder holder) {
         super(scale, holder);
     }
diff --git a/persistence/jpa/metamodel/src/main/java/org/apache/causeway/persistence/jpa/metamodel/facets/prop/column/BigDecimalFromJpaColumnAnnotationFacetFactory.java b/persistence/jpa/metamodel/src/main/java/org/apache/causeway/persistence/jpa/metamodel/facets/prop/column/BigDecimalFromJpaColumnAnnotationFacetFactory.java
index bed0b2a311..09bd6a69cb 100644
--- a/persistence/jpa/metamodel/src/main/java/org/apache/causeway/persistence/jpa/metamodel/facets/prop/column/BigDecimalFromJpaColumnAnnotationFacetFactory.java
+++ b/persistence/jpa/metamodel/src/main/java/org/apache/causeway/persistence/jpa/metamodel/facets/prop/column/BigDecimalFromJpaColumnAnnotationFacetFactory.java
@@ -55,12 +55,15 @@ implements MetaModelRefiner {
         val jpaColumnIfAny = processMethodContext.synthesizeOnMethod(Column.class);
 
         addFacetIfPresent(
-                MaxTotalDigitsFacetFromJpaColumnAnnotation
-                .create(jpaColumnIfAny, holder));
+                MaxTotalDigitsFacetFromJpaColumnAnnotation.create(jpaColumnIfAny, holder));
 
         addFacetIfPresent(
-                MaxFractionalDigitsFacetFromJpaColumnAnnotation
-                .create(jpaColumnIfAny, holder));
+                MaxFractionalDigitsFacetFromJpaColumnAnnotation.create(jpaColumnIfAny, holder));
+
+        if (getConfiguration().getCore().getMetaModel().getProgrammingModel().isUseScaleForMinFractionalFacet()) {
+            addFacetIfPresent(
+                    MinFractionalDigitsFacetFromJpaColumnAnnotation.create(jpaColumnIfAny, holder));
+        }
 
     }
 
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java b/persistence/jpa/metamodel/src/main/java/org/apache/causeway/persistence/jpa/metamodel/facets/prop/column/MinFractionalDigitsFacetFromJpaColumnAnnotation.java
similarity index 61%
copy from persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java
copy to persistence/jpa/metamodel/src/main/java/org/apache/causeway/persistence/jpa/metamodel/facets/prop/column/MinFractionalDigitsFacetFromJpaColumnAnnotation.java
index a20e3eb613..4d3b0df004 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/MaxFractionalDigitsFacetFromJdoColumnAnnotation.java
+++ b/persistence/jpa/metamodel/src/main/java/org/apache/causeway/persistence/jpa/metamodel/facets/prop/column/MinFractionalDigitsFacetFromJpaColumnAnnotation.java
@@ -16,32 +16,31 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.persistence.jdo.metamodel.facets.prop.column;
+package org.apache.causeway.persistence.jpa.metamodel.facets.prop.column;
 
 import java.util.Optional;
 
-import javax.jdo.annotations.Column;
+import javax.persistence.Column;
 
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxFractionalDigitsFacet;
 import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxFractionalDigitsFacetAbstract;
+import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MinFractionalDigitsFacet;
+import org.apache.causeway.core.metamodel.facets.objectvalue.digits.MinFractionalDigitsFacetAbstract;
 
-public class MaxFractionalDigitsFacetFromJdoColumnAnnotation
-extends MaxFractionalDigitsFacetAbstract {
+public class MinFractionalDigitsFacetFromJpaColumnAnnotation
+extends MinFractionalDigitsFacetAbstract {
 
-    public static Optional<MaxFractionalDigitsFacet> create(
-            final Optional<Column> jdoColumnIfAny,
-            final FacetHolder holder) {
+     public static Optional<MinFractionalDigitsFacet> create(
+             final Optional<Column> columnIfAny,
+             final FacetHolder holder) {
 
-        return jdoColumnIfAny
-                .filter(jdoColumn->jdoColumn.scale()>=0)
-                .map(jdoColumn->{
-                    return new MaxFractionalDigitsFacetFromJdoColumnAnnotation(
-                            jdoColumn.scale(), holder);
-                });
+         return columnIfAny
+         .filter(column->column.scale()>=0)
+         .map(column-> new MinFractionalDigitsFacetFromJpaColumnAnnotation(column.scale(), holder));
     }
 
-    private MaxFractionalDigitsFacetFromJdoColumnAnnotation(
+    private MinFractionalDigitsFacetFromJpaColumnAnnotation(
             final int scale, final FacetHolder holder) {
         super(scale, holder);
     }