This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch 3944-collection.out.of.sync in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 42491147d8c99ce44492f6ac3b9bc6d3c9d659be Author: andi-huber <[email protected]> AuthorDate: Sat Nov 15 07:04:14 2025 +0100 CAUSEWAY-3944: code for debugging --- .../causeway/viewer/wicket/model/util/PageUtils.java | 10 ++++++++++ .../attributes/AttributeModelDefaultChangeBehavior.java | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/util/PageUtils.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/util/PageUtils.java index b68fb3e54c9..e376c6f33e6 100644 --- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/util/PageUtils.java +++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/util/PageUtils.java @@ -18,6 +18,9 @@ */ package org.apache.causeway.viewer.wicket.model.util; +import java.util.Optional; + +import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.core.request.handler.ListenerRequestHandler; import org.apache.wicket.request.component.IRequestablePage; import org.apache.wicket.request.cycle.RequestCycle; @@ -46,5 +49,12 @@ public void pageRedirect(final IRequestablePage page) { if(requestCycle==null) return; requestCycle.setResponsePage(page); } + + public boolean isAjax() { + return Optional.ofNullable(RequestCycle.get()) + .map(rc->rc.find(AjaxRequestTarget.class)) + .map(Optional::isPresent) + .orElse(false); + } } diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributeModelDefaultChangeBehavior.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributeModelDefaultChangeBehavior.java index f51dce9e8a9..5db8fd7d8d4 100644 --- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributeModelDefaultChangeBehavior.java +++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributeModelDefaultChangeBehavior.java @@ -18,6 +18,7 @@ */ package org.apache.causeway.viewer.wicket.ui.components.attributes; +import org.apache.wicket.Component; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior; @@ -42,4 +43,19 @@ protected void onError(final AjaxRequestTarget target, final RuntimeException e) scalarPanel.getAttributeModelChangeDispatcher().notifyError(target); } + @Override + public boolean canCallListener(Component component) { + var res = super.canCallListener(component); + if(!res) { + // debug code here + } + return res; + } + + @Override + public String toString() { + return "AttributeModelDefaultChangeBehavior[attributeModel=%s]" + .formatted(scalarPanel.attributeModel()); + } + } \ No newline at end of file
