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;