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 852475c6e44 CAUSEWAY-3859: Java record refactoring (part 46)
852475c6e44 is described below

commit 852475c6e4455ee1fbdc200145462a6f9abaa695
Author: Andi Huber <[email protected]>
AuthorDate: Tue Feb 25 21:19:27 2025 +0100

    CAUSEWAY-3859: Java record refactoring (part 46)
---
 viewers/wicket/ui/src/main/java/module-info.java   |  2 +-
 .../ui/actionresponse/ExecutionResultHandler.java  | 41 ----------------------
 .../attributes/AttributePanelWithInlinePrompt.java |  5 ++-
 .../components/widgets/actionlink/ActionLink.java  |  5 ++-
 .../DownloadHandlerFactory.java                    |  2 +-
 .../ui/{panels => exec}/FormExecutorDefault.java   | 13 ++++---
 .../ui/{actionresponse => exec}/Mediator.java      |  2 +-
 .../{actionresponse => exec}/MediatorFactory.java  |  4 +--
 .../PageRedirectRequest.java                       |  2 +-
 .../wicket/ui/panels/PromptFormAbstract.java       |  1 +
 10 files changed, 20 insertions(+), 57 deletions(-)

diff --git a/viewers/wicket/ui/src/main/java/module-info.java 
b/viewers/wicket/ui/src/main/java/module-info.java
index 7ee6ef34476..0dd5a135f6f 100644
--- a/viewers/wicket/ui/src/main/java/module-info.java
+++ b/viewers/wicket/ui/src/main/java/module-info.java
@@ -18,7 +18,6 @@
  */
 module org.apache.causeway.viewer.wicket.ui {
     exports org.apache.causeway.viewer.wicket.ui;
-    exports org.apache.causeway.viewer.wicket.ui.actionresponse;
     exports org.apache.causeway.viewer.wicket.ui.app.logout;
     exports org.apache.causeway.viewer.wicket.ui.app.registry;
     exports org.apache.causeway.viewer.wicket.ui.components;
@@ -86,6 +85,7 @@
     exports 
org.apache.causeway.viewer.wicket.ui.components.widgets.themepicker;
     exports org.apache.causeway.viewer.wicket.ui.components.widgets.zclip;
     exports org.apache.causeway.viewer.wicket.ui.errors;
+    exports org.apache.causeway.viewer.wicket.ui.exec;
     exports org.apache.causeway.viewer.wicket.ui.pages;
     exports org.apache.causeway.viewer.wicket.ui.pages.about;
     exports org.apache.causeway.viewer.wicket.ui.pages.accmngt.password_reset;
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/ExecutionResultHandler.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/ExecutionResultHandler.java
deleted file mode 100644
index 84425641fa4..00000000000
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/ExecutionResultHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.causeway.viewer.wicket.ui.actionresponse;
-
-import org.apache.wicket.ajax.AjaxRequestTarget;
-
-import org.apache.causeway.commons.functional.Either;
-import org.apache.causeway.core.metamodel.object.ManagedObject;
-import org.apache.causeway.viewer.wicket.model.models.ActionModel;
-import org.apache.causeway.viewer.wicket.model.models.PropertyModel;
-
-public record ExecutionResultHandler(Either<ActionModel, PropertyModel> 
actionOrPropertyModel) {
-
-    public void handle(final AjaxRequestTarget ajaxTarget, final ManagedObject 
result) {
-        // triggers ManagedObject.getBookmarkRefreshed()
-        var mediator = actionOrPropertyModel.fold(
-                act->Mediator.determineAndInterpretResult(act, ajaxTarget, 
result),
-                prop->Mediator.toDomainObjectPage(result));
-
-        // redirect using associated strategy
-        // on property edit, triggers SQL update (on JPA)
-        mediator.handle();
-    }
-
-}
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithInlinePrompt.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithInlinePrompt.java
index 7ba357903d9..e3a2b584f10 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithInlinePrompt.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithInlinePrompt.java
@@ -26,7 +26,7 @@
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.repeater.RepeatingView;
-
+import org.jspecify.annotations.NonNull;
 import org.jspecify.annotations.Nullable;
 
 import 
org.apache.causeway.applib.services.placeholder.PlaceholderRenderService.PlaceholderLiteral;
@@ -40,13 +40,12 @@
 import 
org.apache.causeway.viewer.wicket.ui.components.attributes.AttributeFragmentFactory.FieldFrame;
 import 
org.apache.causeway.viewer.wicket.ui.components.attributes.AttributeFragmentFactory.PromptFragment;
 import 
org.apache.causeway.viewer.wicket.ui.components.widgets.actionlink.ActionLink;
-import org.apache.causeway.viewer.wicket.ui.panels.FormExecutorDefault;
+import org.apache.causeway.viewer.wicket.ui.exec.FormExecutorDefault;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 import org.apache.causeway.viewer.wicket.ui.util.WktTooltips;
 
 import lombok.AccessLevel;
 import lombok.Getter;
-import org.jspecify.annotations.NonNull;
 
 import 
de.agilecoders.wicket.extensions.markup.html.bootstrap.form.fileinput.BootstrapFileInputField;
 
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/actionlink/ActionLink.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/actionlink/ActionLink.java
index bbe700075fa..94ca687f976 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/actionlink/ActionLink.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/actionlink/ActionLink.java
@@ -25,6 +25,7 @@
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.request.cycle.RequestCycle;
+import org.jspecify.annotations.NonNull;
 
 import org.apache.causeway.commons.internal.assertions._Assert;
 import org.apache.causeway.commons.internal.debug._Probe;
@@ -45,15 +46,13 @@
 import 
org.apache.causeway.viewer.wicket.ui.app.registry.HasComponentFactoryRegistry;
 import 
org.apache.causeway.viewer.wicket.ui.components.attributes.AttributeFragmentFactory.FrameFragment;
 import 
org.apache.causeway.viewer.wicket.ui.components.layout.bs.BSGridPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.exec.FormExecutorDefault;
 import org.apache.causeway.viewer.wicket.ui.pages.obj.DomainObjectPage;
-import org.apache.causeway.viewer.wicket.ui.panels.FormExecutorDefault;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelUtil;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 
 import static org.apache.causeway.commons.internal.base._Casts.castTo;
 
-import org.jspecify.annotations.NonNull;
-
 /**
  *
  * @implNote <pre>
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/DownloadHandlerFactory.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/DownloadHandlerFactory.java
similarity index 98%
rename from 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/DownloadHandlerFactory.java
rename to 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/DownloadHandlerFactory.java
index ba4aa7d6e7d..9eeca477cc1 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/DownloadHandlerFactory.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/DownloadHandlerFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.actionresponse;
+package org.apache.causeway.viewer.wicket.ui.exec;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/panels/FormExecutorDefault.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/FormExecutorDefault.java
similarity index 93%
rename from 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/panels/FormExecutorDefault.java
rename to 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/FormExecutorDefault.java
index 202c5287722..dffec02ba7c 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/panels/FormExecutorDefault.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/FormExecutorDefault.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.panels;
+package org.apache.causeway.viewer.wicket.ui.exec;
 
 import java.util.Optional;
 
@@ -34,7 +34,6 @@
 import org.apache.causeway.viewer.wicket.model.models.FormExecutorContext;
 import org.apache.causeway.viewer.wicket.model.models.HasCommonContext;
 import org.apache.causeway.viewer.wicket.model.models.PropertyModel;
-import 
org.apache.causeway.viewer.wicket.ui.actionresponse.ExecutionResultHandler;
 
 import lombok.extern.log4j.Log4j2;
 
@@ -109,8 +108,14 @@ public FormExecutionOutcome executeAndProcessResults(
                 return 
FormExecutionOutcome.SUCCESS_IN_NESTED_CONTEXT_SO_STAY_ON_PAGE;
             }
 
-            new ExecutionResultHandler(actionOrPropertyModel)
-                .handle(ajaxTarget, resultAdapter);
+            // triggers ManagedObject.getBookmarkRefreshed()
+            var mediator = actionOrPropertyModel.fold(
+                    act->Mediator.determineAndInterpretResult(act, ajaxTarget, 
resultAdapter),
+                    prop->Mediator.toDomainObjectPage(resultAdapter));
+
+            // redirect using associated strategy
+            // on property edit, triggers SQL update (on JPA)
+            mediator.handle();
 
             return FormExecutionOutcome.SUCCESS_AND_REDIRECED_TO_RESULT_PAGE; 
// success (valid args), allow redirect
 
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/Mediator.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/Mediator.java
similarity index 99%
rename from 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/Mediator.java
rename to 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/Mediator.java
index 3b8a9f908af..98b5225364b 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/Mediator.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/Mediator.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.actionresponse;
+package org.apache.causeway.viewer.wicket.ui.exec;
 
 import java.time.Duration;
 
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/MediatorFactory.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/MediatorFactory.java
similarity index 98%
rename from 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/MediatorFactory.java
rename to 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/MediatorFactory.java
index f04c241e95a..aee2d74b7e8 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/MediatorFactory.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/MediatorFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.actionresponse;
+package org.apache.causeway.viewer.wicket.ui.exec;
 
 import java.net.URL;
 
@@ -45,7 +45,7 @@
 import org.apache.causeway.viewer.wicket.model.models.ValueModel;
 import org.apache.causeway.viewer.wicket.model.models.VoidModel;
 import 
org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelStandalone;
-import 
org.apache.causeway.viewer.wicket.ui.actionresponse.Mediator.ExecutionResultHandlingStrategy;
+import 
org.apache.causeway.viewer.wicket.ui.exec.Mediator.ExecutionResultHandlingStrategy;
 import org.apache.causeway.viewer.wicket.ui.pages.PageClassRegistry;
 import 
org.apache.causeway.viewer.wicket.ui.pages.standalonecollection.StandaloneCollectionPage;
 import org.apache.causeway.viewer.wicket.ui.pages.value.ValuePage;
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/PageRedirectRequest.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/PageRedirectRequest.java
similarity index 98%
rename from 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/PageRedirectRequest.java
rename to 
viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/PageRedirectRequest.java
index c27c54e078a..9f2d98c9764 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/PageRedirectRequest.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/exec/PageRedirectRequest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.actionresponse;
+package org.apache.causeway.viewer.wicket.ui.exec;
 
 import org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler;
 import org.apache.wicket.core.request.handler.PageProvider;
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/panels/PromptFormAbstract.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/panels/PromptFormAbstract.java
index 7170a8dd910..b5715535916 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/panels/PromptFormAbstract.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/panels/PromptFormAbstract.java
@@ -43,6 +43,7 @@
 import org.apache.causeway.viewer.wicket.model.models.PropertyModel;
 import 
org.apache.causeway.viewer.wicket.ui.components.attributes.AttributeModelChangeListener;
 import 
org.apache.causeway.viewer.wicket.ui.components.attributes.AttributePanel;
+import org.apache.causeway.viewer.wicket.ui.exec.FormExecutorDefault;
 import org.apache.causeway.viewer.wicket.ui.pages.PageAbstract;
 import org.apache.causeway.viewer.wicket.ui.pages.obj.DomainObjectPage;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;

Reply via email to