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 ac86f6cfb1b CAUSEWAY-3859: Java record refactoring (part 50)
ac86f6cfb1b is described below
commit ac86f6cfb1bfe4f6a4fa500aef89b16c57082d69
Author: Andi Huber <[email protected]>
AuthorDate: Wed Feb 26 11:15:56 2025 +0100
CAUSEWAY-3859: Java record refactoring (part 50)
---
.../applib/services/menu/model/NavbarSection.java | 3 ++-
.../viewer/wicket/model/models/AboutModel.java | 12 ++++++------
.../wicket/model/models/ServiceActionsModel.java | 21 ++++++---------------
.../viewer/wicket/model/models/ValueModel.java | 12 ++----------
.../viewer/wicket/model/models/WelcomeModel.java | 14 +++++++++-----
.../ui/components/about/AboutPanelFactory.java | 2 +-
.../present/ajaxtable/columns/PluralColumn.java | 2 +-
.../present/ajaxtable/columns/TitleColumn.java | 2 +-
.../wicket/ui/components/welcome/WelcomePanel.java | 7 ++-----
.../ui/components/welcome/WelcomePanelFactory.java | 2 +-
.../viewer/wicket/ui/exec/MediatorFactory.java | 2 +-
11 files changed, 32 insertions(+), 47 deletions(-)
diff --git
a/viewers/commons/applib/src/main/java/org/apache/causeway/viewer/commons/applib/services/menu/model/NavbarSection.java
b/viewers/commons/applib/src/main/java/org/apache/causeway/viewer/commons/applib/services/menu/model/NavbarSection.java
index 435acd27105..735c37d7b47 100644
---
a/viewers/commons/applib/src/main/java/org/apache/causeway/viewer/commons/applib/services/menu/model/NavbarSection.java
+++
b/viewers/commons/applib/src/main/java/org/apache/causeway/viewer/commons/applib/services/menu/model/NavbarSection.java
@@ -18,6 +18,7 @@
*/
package org.apache.causeway.viewer.commons.applib.services.menu.model;
+import java.io.Serializable;
import java.util.Locale;
import org.jspecify.annotations.Nullable;
@@ -28,7 +29,7 @@
public record NavbarSection(
DomainServiceLayout.MenuBar menuBarSelect,
- Can<MenuDropdown> topLevelEntries) {
+ Can<MenuDropdown> topLevelEntries) implements Serializable {
public String cssClass() {
return menuBarSelect.name().toLowerCase(Locale.ENGLISH);
diff --git
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/AboutModel.java
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/AboutModel.java
index 99aa5e3ceda..6a10f9a7ec9 100644
---
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/AboutModel.java
+++
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/AboutModel.java
@@ -18,19 +18,19 @@
*/
package org.apache.causeway.viewer.wicket.model.models;
+import org.apache.wicket.model.IModel;
+
import org.apache.causeway.core.config.CausewayConfiguration;
/**
* Model providing welcome text.
*/
-public final class AboutModel
-extends ModelAbstract<CausewayConfiguration.Viewer.Common.Application> {
-
- private static final long serialVersionUID = 1L;
+public record AboutModel(CausewayConfiguration.Viewer.Common.Application
applicationSettings)
+implements IModel<CausewayConfiguration.Viewer.Common.Application> {
@Override
- protected CausewayConfiguration.Viewer.Common.Application load() {
- return getApplicationSettings();
+ public CausewayConfiguration.Viewer.Common.Application getObject() {
+ return applicationSettings();
}
}
diff --git
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ServiceActionsModel.java
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ServiceActionsModel.java
index bb1fed771a8..7aba8fe7807 100644
---
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ServiceActionsModel.java
+++
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ServiceActionsModel.java
@@ -18,28 +18,19 @@
*/
package org.apache.causeway.viewer.wicket.model.models;
+import org.apache.wicket.model.IModel;
+
import
org.apache.causeway.viewer.commons.applib.services.menu.model.NavbarSection;
/**
* Backing model for actions of application services menu bar (typically, as
* displayed along the top or side of the page).
*/
-public class ServiceActionsModel extends ModelAbstract<NavbarSection> {
-
- private static final long serialVersionUID = 1L;
-
- private final NavbarSection navBarSection;
-
- /**
- * @param navBarSection - may be null in special case of rendering the
tertiary menu on the error page.
- */
- public ServiceActionsModel(
- final NavbarSection navBarSection) {
-
- this.navBarSection = navBarSection;
- }
+public record ServiceActionsModel(
+ /** may be null in special case of rendering the tertiary menu on the
error page */
+ NavbarSection navBarSection) implements IModel<NavbarSection> {
@Override
- protected NavbarSection load() {
+ public NavbarSection getObject() {
return navBarSection;
}
diff --git
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ValueModel.java
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ValueModel.java
index 998522b8bcd..cac69b5b187 100644
---
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ValueModel.java
+++
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ValueModel.java
@@ -28,24 +28,16 @@
/**
* Represents a standalone value (used for standalone value page).
*/
-public class ValueModel
+public final class ValueModel
extends ModelAbstract<ManagedObject> {
private static final long serialVersionUID = 1L;
- // -- FACTORIES
-
- public static ValueModel of(
- final @NonNull ObjectMember objectMember,
- final @NonNull ManagedObject valueAdapter) {
- return new ValueModel(objectMember, valueAdapter);
- }
-
// --
private final ObjectMemento adapterMemento;
- private ValueModel(
+ public ValueModel(
final @NonNull ObjectMember objectMember,
final @NonNull ManagedObject valueAdapter) {
super();
diff --git
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/WelcomeModel.java
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/WelcomeModel.java
index 42fb3a99832..02d544d120a 100644
---
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/WelcomeModel.java
+++
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/WelcomeModel.java
@@ -18,19 +18,23 @@
*/
package org.apache.causeway.viewer.wicket.model.models;
+import org.apache.wicket.model.IModel;
+
import org.apache.causeway.core.config.CausewayConfiguration;
/**
* Model providing welcome text.
*/
-public class WelcomeModel
-extends ModelAbstract<CausewayConfiguration.Viewer.Wicket.Welcome> {
+public record WelcomeModel(String welcomeText)
+implements IModel<String> {
- private static final long serialVersionUID = 1L;
+ public WelcomeModel(final CausewayConfiguration config) {
+ this(config.getViewer().getWicket().getWelcome().getText());
+ }
@Override
- protected CausewayConfiguration.Viewer.Wicket.Welcome load() {
- return getWicketViewerSettings().getWelcome();
+ public String getObject() {
+ return welcomeText;
}
}
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/about/AboutPanelFactory.java
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/about/AboutPanelFactory.java
index 6ae006c9237..63521cd8cae 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/about/AboutPanelFactory.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/about/AboutPanelFactory.java
@@ -42,7 +42,7 @@ public ApplicationAdvice appliesTo(final IModel<?> model) {
@Override
public Component createComponent(final String id, final IModel<?> model) {
- return new AboutPanel(id, new AboutModel());
+ return new AboutPanel(id, new
AboutModel(getMetaModelContext().getApplicationSettings()));
}
}
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/PluralColumn.java
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/PluralColumn.java
index 4badce9f3c1..c4828839f91 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/PluralColumn.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/PluralColumn.java
@@ -112,7 +112,7 @@ private Component createCellElementComponent(
final String componentId, final DataColumn dataColumn, final
ManagedObject cellElement) {
if(ManagedObjects.isValue(cellElement)) {
- var valueModel = ValueModel.of(dataColumn.associationMetaModel(),
cellElement);
+ var valueModel = new ValueModel(dataColumn.associationMetaModel(),
cellElement);
var componentFactory = findComponentFactory(UiComponentType.VALUE,
valueModel);
return componentFactory.createComponent(componentId, valueModel);
}
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/TitleColumn.java
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/TitleColumn.java
index a2959dda94c..ef8abfc36f6 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/TitleColumn.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/TitleColumn.java
@@ -60,7 +60,7 @@ protected Component createCellComponent(
if(ManagedObjects.isValue(rowElement)) {
var objectMember = dataRow.parentTable().getMetaModel();
- var valueModel = ValueModel.of(objectMember, rowElement);
+ var valueModel = new ValueModel(objectMember, rowElement);
var componentFactory = findComponentFactory(UiComponentType.VALUE,
valueModel);
return componentFactory.createComponent(componentId, valueModel);
}
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/welcome/WelcomePanel.java
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/welcome/WelcomePanel.java
index f247e9d4455..27fe1a33fce 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/welcome/WelcomePanel.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/welcome/WelcomePanel.java
@@ -18,9 +18,6 @@
*/
package org.apache.causeway.viewer.wicket.ui.components.welcome;
-import org.apache.wicket.model.LambdaModel;
-
-import org.apache.causeway.core.config.CausewayConfiguration;
import org.apache.causeway.viewer.wicket.model.models.WelcomeModel;
import org.apache.causeway.viewer.wicket.ui.pages.home.HomePage;
import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
@@ -31,7 +28,7 @@
* {@link HomePage}).
*/
class WelcomePanel
-extends PanelAbstract<CausewayConfiguration.Viewer.Wicket.Welcome,
WelcomeModel> {
+extends PanelAbstract<String, WelcomeModel> {
private static final long serialVersionUID = 1L;
@@ -39,7 +36,7 @@ class WelcomePanel
public WelcomePanel(final String id, final WelcomeModel welcomeModel) {
super(id, welcomeModel);
- Wkt.labelAdd(this, ID_MESSAGE,
LambdaModel.of(()->welcomeModel.getObject().getText()))
+ Wkt.labelAdd(this, ID_MESSAGE, welcomeModel)
// safe to not escape, welcome message is read from file (part of
deployed WAR)
.setEscapeModelStrings(false);
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/welcome/WelcomePanelFactory.java
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/welcome/WelcomePanelFactory.java
index 9f26ec75762..ff58df20778 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/welcome/WelcomePanelFactory.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/welcome/WelcomePanelFactory.java
@@ -42,7 +42,7 @@ public ApplicationAdvice appliesTo(final IModel<?> model) {
@Override
public Component createComponent(final String id, final IModel<?> model) {
- return new WelcomePanel(id, new WelcomeModel());
+ return new WelcomePanel(id, new
WelcomeModel(getMetaModelContext().getConfiguration()));
}
}
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/MediatorFactory.java
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/MediatorFactory.java
index aee2d74b7e8..08d5a0b09fa 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/MediatorFactory.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/MediatorFactory.java
@@ -130,7 +130,7 @@ private Mediator actionResultResponse(
return Mediator.toPage(pageRedirectRequest);
}
case VALUE: {
- var valueModel = ValueModel.of(actionModel.getAction(),
resultAdapter);
+ var valueModel = new ValueModel(actionModel.getAction(),
resultAdapter);
valueModel.setActionHint(actionModel);
var valuePage = new ValuePage(valueModel);
var pageRedirectRequest =
PageRedirectRequest.forPage(ValuePage.class, valuePage);