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

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


The following commit(s) were added to refs/heads/main by this push:
     new 7fc07731440 CAUSEWAY-3859: Java record refactoring (part 44)
7fc07731440 is described below

commit 7fc0773144054b3bd1676a3b78b841a70fdf1ef2
Author: Andi Huber <[email protected]>
AuthorDate: Tue Feb 25 19:27:03 2025 +0100

    CAUSEWAY-3859: Java record refactoring (part 44)
---
 .../select2/ChoiceProviderForReferencesTest.java      |  2 +-
 .../widgets/select2/ChoiceProviderForValuesTest.java  |  2 +-
 ...{ChoiceProviderRecord.java => ChoiceProvider.java} |  9 ++++-----
 .../ui/components/widgets/select2/MultiChoice.java    |  2 +-
 .../{Select2OnSelect.java => OnSelectBehavior.java}   | 19 +++++++++----------
 .../wicket/ui/components/widgets/select2/Select2.java | 15 +++++----------
 .../ui/components/widgets/select2/SingleChoice.java   |  2 +-
 7 files changed, 22 insertions(+), 29 deletions(-)

diff --git 
a/viewers/wicket/ui-test/src/test/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderForReferencesTest.java
 
b/viewers/wicket/ui-test/src/test/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderForReferencesTest.java
index e94e4e3eb6a..cad80cde8be 100644
--- 
a/viewers/wicket/ui-test/src/test/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderForReferencesTest.java
+++ 
b/viewers/wicket/ui-test/src/test/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderForReferencesTest.java
@@ -49,7 +49,7 @@ void roundtrip() {
                 .map(mmc.getObjectManager()::adapt);
 
         var isRequired = true;
-        var choiceProvider = new 
ChoiceProviderRecord(mockAttributeModel(choices, isRequired));
+        var choiceProvider = new ChoiceProvider(mockAttributeModel(choices, 
isRequired));
 
         var response = new Response<ObjectMemento>();
         choiceProvider.query(null, 0, response);
diff --git 
a/viewers/wicket/ui-test/src/test/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderForValuesTest.java
 
b/viewers/wicket/ui-test/src/test/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderForValuesTest.java
index a2a8a368ded..aa215979379 100644
--- 
a/viewers/wicket/ui-test/src/test/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderForValuesTest.java
+++ 
b/viewers/wicket/ui-test/src/test/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderForValuesTest.java
@@ -52,7 +52,7 @@ void roundtrip() {
                 .map(mmc.getObjectManager()::adapt);
 
         var isRequired = true;
-        var choiceProvider = new 
ChoiceProviderRecord(mockAttributeModel(choices, isRequired));
+        var choiceProvider = new ChoiceProvider(mockAttributeModel(choices, 
isRequired));
 
         var response = new Response<ObjectMemento>();
         choiceProvider.query(null, 0, response);
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderRecord.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProvider.java
similarity index 97%
rename from 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderRecord.java
rename to 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProvider.java
index 5a157e741ca..7e3454f3fef 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProviderRecord.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/ChoiceProvider.java
@@ -24,7 +24,6 @@
 
 import org.apache.wicket.util.string.Strings;
 import org.jspecify.annotations.Nullable;
-import org.wicketstuff.select2.ChoiceProvider;
 import org.wicketstuff.select2.Response;
 
 import org.apache.causeway.applib.services.i18n.TranslationContext;
@@ -39,12 +38,12 @@
 import org.apache.causeway.viewer.wicket.model.models.HasCommonContext;
 import org.apache.causeway.viewer.wicket.model.models.UiAttributeWkt;
 
-record ChoiceProviderRecord(
+record ChoiceProvider(
     UiAttributeWkt attributeModel,
     UiAttribute.ChoiceProviderSort choiceProviderSort)
 implements HasCommonContext, Serializable {
 
-    public ChoiceProviderRecord(
+    public ChoiceProvider(
             final UiAttributeWkt attributeModel) {
         this(attributeModel, 
UiAttribute.ChoiceProviderSort.valueOf(attributeModel));
     }
@@ -111,9 +110,9 @@ public Collection<ObjectMemento> toChoices(final 
Collection<String> ids) {
     // -- UTIL
 
     /** adapter method */
-    ChoiceProvider<ObjectMemento> toSelect2ChoiceProvider() {
+    org.wicketstuff.select2.ChoiceProvider<ObjectMemento> 
toSelect2ChoiceProvider() {
         var delegate = this;
-        return new ChoiceProvider<ObjectMemento>() {
+        return new org.wicketstuff.select2.ChoiceProvider<ObjectMemento>() {
             private static final long serialVersionUID = 1L;
 
             @Override public Collection<ObjectMemento> toChoices(final 
Collection<String> ids) {
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/MultiChoice.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/MultiChoice.java
index 9e63ef742a6..6197d252f3b 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/MultiChoice.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/MultiChoice.java
@@ -38,7 +38,7 @@ record MultiChoice(
             final String id,
             final IModel<Collection<ObjectMemento>> model,
             final UiAttributeWkt attributeModel,
-            final ChoiceProviderRecord choiceProvider) {
+            final ChoiceProvider choiceProvider) {
         this(
             attributeModel.getElementType().logicalType(),
             new Select2MultiChoice<>(id, model, 
choiceProvider.toSelect2ChoiceProvider()) {
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/Select2OnSelect.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/OnSelectBehavior.java
similarity index 95%
rename from 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/Select2OnSelect.java
rename to 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/OnSelectBehavior.java
index 8e3b0b664a5..134d0fac404 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/Select2OnSelect.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/OnSelectBehavior.java
@@ -61,16 +61,16 @@
  * @since 2.0
  */
 @RequiredArgsConstructor
-class Select2OnSelect extends AbstractAjaxBehavior {
+class OnSelectBehavior extends AbstractAjaxBehavior {
 
     private static final long serialVersionUID = 1L;
     private final UiAttributeWkt attributeModel;
     private final AttributeModelChangeDispatcher select2ChangeDispatcher;
 
-    private static enum Event {
+    private enum Event {
         SELECT, UNSELECT, CLEAR;
         String key() { return name().toLowerCase(); }
-        static Optional<Select2OnSelect.Event> valueOf(final NamedPair pair) {
+        static Optional<OnSelectBehavior.Event> valueOf(final NamedPair pair) {
             for(var event : Event.values()) {
                 if(event.name().equalsIgnoreCase(pair.getKey())) {
                     return Optional.of(event);
@@ -84,17 +84,16 @@ static Optional<Select2OnSelect.Event> valueOf(final 
NamedPair pair) {
     public void renderHead(final Component component, final IHeaderResponse 
response) {
         for(var event : Event.values()) {
             
//response.render(OnDomReadyHeaderItem.forScript("Wicket.Log.enabled=true;"));
-            
response.render(OnDomReadyHeaderItem.forScript(JQuery.execute("$('#%s')"
-                    + ".on('select2:%s', function (e) {"
-                    + "var data = e.params.data;"
-                    //debug + "console.log(e);"
-                    + "Wicket.Ajax.get({'u': '%s&%s=' + data.id});"
-                    + "});",
+            response.render(OnDomReadyHeaderItem.forScript(JQuery.execute("""
+                    $('#%s').on('select2:%s', function (e) {
+                      var data = e.params.data;
+                      Wicket.Ajax.get({'u': '%s&%s=' + data.id});
+                    });""",
                     component.getMarkupId(),
                     event.key(),
                     getCallbackUrl(),
                     event.key()
-                    )));
+                )));
         }
     }
 
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/Select2.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/Select2.java
index a8fe3b76e20..2bc4f757295 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/Select2.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/Select2.java
@@ -24,8 +24,6 @@
 import org.apache.wicket.model.LambdaModel;
 import org.apache.wicket.model.Model;
 import org.wicketstuff.select2.AbstractSelect2Choice;
-import org.wicketstuff.select2.Settings;
-
 import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.objectmanager.memento.ObjectMemento;
@@ -41,7 +39,7 @@ static Select2 create(
         final String id,
         final UiAttributeWkt attributeModel,
         final AttributeModelChangeDispatcher select2ChangeDispatcher) {
-        var choiceProvider = new ChoiceProviderRecord(attributeModel);
+        var choiceProvider = new ChoiceProvider(attributeModel);
         var select2 = attributeModel.isSingular()
                 ? new SingleChoice(id,
                                 
AttributeModelWithSingleChoice.chain(attributeModel),
@@ -51,8 +49,8 @@ static Select2 create(
                                 
_Casts.uncheckedCast(AttributeModelWithMultiChoice.chain(attributeModel)),
                                 attributeModel,
                                 choiceProvider);
-
-        var settings = select2.settings();
+        var component = select2.component();
+        var settings = component.getSettings();
         settings.setCloseOnSelect(true);
         settings.setDropdownAutoWidth(true);
         settings.setWidth("100%");
@@ -65,12 +63,11 @@ static Select2 create(
             case CHOICES, NO_CHOICES->{}
         }
 
-        var component = select2.component();
         component.setOutputMarkupPlaceholderTag(true);
         component.setLabel(Model.of(attributeModel.getFriendlyName()));
 
         // listen on select2:select/unselect events (client-side)
-        component.add(new Select2OnSelect(attributeModel, 
select2ChangeDispatcher));
+        component.add(new OnSelectBehavior(attributeModel, 
select2ChangeDispatcher));
 
         return select2;
     }
@@ -88,9 +85,7 @@ default IModel<String> obtainOutputFormatModel() {
         });
     }
 
-    default Settings settings() {
-        return component().getSettings();
-    }
+    // -- SHORTCUTS
 
     default void clearInput() {
         component().clearInput();
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/SingleChoice.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/SingleChoice.java
index 5655eec2bfd..c84408c06c7 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/SingleChoice.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/select2/SingleChoice.java
@@ -33,7 +33,7 @@ record SingleChoice(Select2Choice<ObjectMemento> component)
             final String id,
             final IModel<ObjectMemento> model,
             final UiAttributeWkt attributeModel,
-            final ChoiceProviderRecord choiceProvider) {
+            final ChoiceProvider choiceProvider) {
         this(new Select2Choice<>(id, model, 
choiceProvider.toSelect2ChoiceProvider()));
     }
 

Reply via email to