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

Reply via email to