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 166de2c61f ISIS-3172: select2: removes assert that is too strict
166de2c61f is described below

commit 166de2c61fa58544281eb9e339d17b3e4c2cf4e2
Author: Andi Huber <ahu...@apache.org>
AuthorDate: Sat Aug 27 20:45:34 2022 +0200

    ISIS-3172: select2: removes assert that is too strict
---
 .../ui/components/scalars/ScalarPanelSelectAbstract.java       | 10 ++++++----
 .../components/scalars/reference/EntityLinkSelect2Panel.java   |  5 +++--
 .../wicket/ui/components/scalars/reference/ReferencePanel.java |  7 +++----
 3 files changed, 12 insertions(+), 10 deletions(-)

diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
index b0daa0f4ae..a3529b88ca 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
@@ -34,7 +34,6 @@ import 
org.apache.isis.viewer.wicket.ui.components.widgets.select2.providers.Cho
 import org.apache.isis.viewer.wicket.ui.util.Wkt;
 import org.apache.isis.viewer.wicket.ui.util.Wkt.EventTopic;
 
-import lombok.Getter;
 import lombok.NonNull;
 import lombok.val;
 
@@ -43,7 +42,7 @@ extends ScalarPanelFormFieldAbstract<ManagedObject> {
 
     private static final long serialVersionUID = 1L;
 
-    @Getter protected Select2 select2;
+    protected Select2 select2;
 
     public ScalarPanelSelectAbstract(final String id, final ScalarModel 
scalarModel) {
         super(id, scalarModel, ManagedObject.class);
@@ -59,8 +58,6 @@ extends ScalarPanelFormFieldAbstract<ManagedObject> {
     private void addSelect2Semantics(final Settings settings) {
         val scalarModel = scalarModel();
 
-        //FIXME[ISIS-3172]  why not always render the place holder?
-
         switch(scalarModel.getChoiceProviderSort()) {
         case CHOICES:
             settings.setPlaceholder(scalarModel.getFriendlyName());
@@ -70,6 +67,7 @@ extends ScalarPanelFormFieldAbstract<ManagedObject> {
             
settings.setMinimumInputLength(scalarModel.getAutoCompleteMinLength());
             return;
         case OBJECT_AUTO_COMPLETE:
+            //TODO render object place holder?
             Facets.autoCompleteMinLength(scalarModel.getScalarTypeSpec())
             .ifPresent(settings::setMinimumInputLength);
             return;
@@ -78,6 +76,10 @@ extends ScalarPanelFormFieldAbstract<ManagedObject> {
         }
     }
 
+    public final boolean checkSelect2Required() {
+        return select2.checkRequired();
+    }
+
     /**
      * Mandatory hook (is called by {@link #createSelect2(String)})
      */
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.java
 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.java
index d8e95508bd..d4fa676b5a 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.java
@@ -49,13 +49,14 @@ implements CancelHintRequired  {
     }
 
     /**
-     * Necessary because {@link FormComponentPanel} overrides this as 
<tt>true</tt>, whereas we want to
+     * Necessary because {@link FormComponentPanel} overrides this as 
<tt>true</tt>,
+     * whereas we want to
      * report on the state of the underlying {@link 
org.wicketstuff.select2.Select2Choice} or
      * {@link Select2MultiChoice}.
      */
     @Override
     public boolean checkRequired() {
-        return owningPanel.getSelect2().checkRequired();
+        return owningPanel.checkSelect2Required();
     }
 
     /**
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index e079828ba3..2969161cc2 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -30,7 +30,6 @@ import org.apache.wicket.util.convert.ConversionException;
 import org.apache.wicket.util.convert.IConverter;
 
 import 
org.apache.isis.applib.services.placeholder.PlaceholderRenderService.PlaceholderLiteral;
-import org.apache.isis.commons.internal.assertions._Assert;
 import org.apache.isis.core.metamodel.object.ManagedObject;
 import org.apache.isis.viewer.commons.model.StringForRendering;
 import org.apache.isis.viewer.commons.model.components.ComponentType;
@@ -100,9 +99,9 @@ public class ReferencePanel extends 
ScalarPanelSelectAbstract {
         this.entityLink = new 
EntityLinkSelect2Panel(ComponentType.ENTITY_LINK.getId(), this);
         entityLink.setRequired(scalarModel.isRequired());
 
-        _Assert.assertTrue(scalarModel.getChoiceProviderSort().isChoicesAny(),
-                ()->String.format("inconsistent metamodel: rendering a select2 
while it has no choices; feature %s",
-                    scalarModel.getMetaModel().getFeatureIdentifier()));
+//        
_Assert.assertTrue(scalarModel.getChoiceProviderSort().isChoicesAny(),
+//                ()->String.format("inconsistent metamodel: rendering a 
select2 while it has no choices; feature %s",
+//                    scalarModel.getMetaModel().getFeatureIdentifier()));
         this.select2 = createSelect2(ID_AUTO_COMPLETE);
 
         entityLink.addOrReplace(select2.asComponent());

Reply via email to