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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 4a1af015 ISIS-2340: fx: restrict DatePicker to LocalDate only (for now)
4a1af015 is described below

commit 4a1af0153c75b923a1338fccb7109dbbee781e85
Author: Andi Huber <[email protected]>
AuthorDate: Sun Aug 16 17:44:55 2020 +0200

    ISIS-2340: fx: restrict DatePicker to LocalDate only (for now)
---
 .../ui/components/temporal/TemporalFieldFactory.java       | 11 +++++++++--
 .../binding/TemporalConverterForLocalDateComponent.java    | 14 +++++---------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git 
a/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/temporal/TemporalFieldFactory.java
 
b/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/temporal/TemporalFieldFactory.java
index 260ed55..12a8f72 100644
--- 
a/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/temporal/TemporalFieldFactory.java
+++ 
b/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/temporal/TemporalFieldFactory.java
@@ -23,6 +23,9 @@ import javax.inject.Inject;
 import org.springframework.core.annotation.Order;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
+import org.apache.isis.core.metamodel.facets.value.temporal.TemporalValueFacet;
+import 
org.apache.isis.core.metamodel.facets.value.temporal.TemporalValueFacet.OffsetCharacteristic;
+import 
org.apache.isis.core.metamodel.facets.value.temporal.TemporalValueFacet.TemporalCharacteristic;
 import org.apache.isis.core.metamodel.interactions.managed.ManagedParameter;
 import org.apache.isis.core.metamodel.interactions.managed.ManagedProperty;
 import org.apache.isis.incubator.viewer.javafx.model.binding.BindingsFx;
@@ -42,7 +45,12 @@ public class TemporalFieldFactory implements 
UiComponentHandlerFx {
 
     @Override
     public boolean isHandling(ComponentRequest request) {
-        return 
request.hasFeatureTypeFacetAnyOf(TemporalConverterForLocalDateComponent.getSupportedFacets());
+        val temporalValueFacet = (TemporalValueFacet<?>) request
+                .getFeatureTypeSpec()
+                .getFacet(TemporalValueFacet.class);
+        return temporalValueFacet!=null
+                && 
temporalValueFacet.getTemporalCharacteristic()==TemporalCharacteristic.DATE_ONLY
+                && 
temporalValueFacet.getOffsetCharacteristic()==OffsetCharacteristic.LOCAL;
     }
 
     @Override
@@ -53,7 +61,6 @@ public class TemporalFieldFactory implements 
UiComponentHandlerFx {
         val converter = new TemporalConverterForLocalDateComponent(valueSpec);
         val feature = request.getManagedFeature();
         
-        //FIXME format error ?
         uiComponent.setConverter(toJavaFxStringConverter(converter));
         
         if(feature instanceof ManagedParameter) {
diff --git 
a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/TemporalConverterForLocalDateComponent.java
 
b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/TemporalConverterForLocalDateComponent.java
index d12623b..d151426 100644
--- 
a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/TemporalConverterForLocalDateComponent.java
+++ 
b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/TemporalConverterForLocalDateComponent.java
@@ -20,10 +20,8 @@ package org.apache.isis.viewer.common.model.binding;
 
 import java.time.LocalDate;
 
-import org.apache.isis.core.commons.collections.Can;
 import org.apache.isis.core.commons.internal.base._Casts;
 import org.apache.isis.core.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.facetapi.Facet;
 import 
org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
 import org.apache.isis.core.metamodel.facets.value.temporal.TemporalValueFacet;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -43,9 +41,7 @@ public class TemporalConverterForLocalDateComponent 
implements BindingConverter<
 
     public TemporalConverterForLocalDateComponent(final ObjectSpecification 
valueSpecification) {
         this.valueSpecification = valueSpecification;
-
-        this.valueFacet = 
_Casts.uncheckedCast(lookupFacetOneOf(getSupportedFacets())
-                .orElseThrow(()->_Exceptions.noSuchElement("missing 'temporal' 
value facet")));
+        this.valueFacet = 
_Casts.uncheckedCast(valueSpecification.getFacet(TemporalValueFacet.class));
     }
 
     @Override
@@ -59,10 +55,10 @@ public class TemporalConverterForLocalDateComponent 
implements BindingConverter<
         return localDate;
     }
 
-    // for performance reasons in order of likelihood (just guessing)
-    @Getter
-    private final static Can<Class<? extends Facet>> supportedFacets = Can.of(
-            TemporalValueFacet.class);
+//    // for performance reasons in order of likelihood (just guessing)
+//    @Getter
+//    private final static Can<Class<? extends Facet>> supportedFacets = 
Can.of(
+//            TemporalValueFacet.class);
 
     @Override
     public String toString(LocalDate value) {

Reply via email to