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()));
}