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) {