This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 9eebc135fa59c71b06702a6c6cdd2a2d9edc87fd
Author: andi-huber <[email protected]>
AuthorDate: Thu Aug 18 14:41:00 2022 +0200

    ISIS-3125: fix Wkt utility for non serializable Wicket (conf)
---
 .../org/apache/isis/core/config/IsisConfiguration.java  |  9 +--------
 .../java/org/apache/isis/viewer/wicket/ui/util/Wkt.java | 17 ++++++++++-------
 2 files changed, 11 insertions(+), 15 deletions(-)

diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java 
b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index c43aa130dd..69cc8d67b3 100644
--- 
a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ 
b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -18,7 +18,6 @@
  */
 package org.apache.isis.core.config;
 
-import java.io.Serializable;
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
@@ -63,7 +62,6 @@ import org.apache.isis.applib.services.userui.UserMenu;
 import 
org.apache.isis.applib.value.semantics.TemporalValueSemantics.TemporalEditingPattern;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.context._Context;
-import org.apache.isis.core.config.IsisConfiguration.Viewer;
 import org.apache.isis.core.config.metamodel.facets.DefaultViewConfiguration;
 import 
org.apache.isis.core.config.metamodel.facets.EditingObjectsConfiguration;
 import 
org.apache.isis.core.config.metamodel.facets.PublishingPolicies.ActionPublishingPolicy;
@@ -1866,12 +1864,7 @@ public class IsisConfiguration {
 
         private final Wicket wicket = new Wicket();
         @Data
-        public static class Wicket implements Serializable {
-
-            /**
-             *
-             */
-            private static final long serialVersionUID = 1L;
+        public static class Wicket {
 
             /**
              * Specifies the subclass of
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Wkt.java
 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Wkt.java
index 18cff136a0..6b8a138253 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Wkt.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Wkt.java
@@ -94,9 +94,7 @@ import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponen
 import 
org.apache.isis.viewer.wicket.ui.components.widgets.links.AjaxLinkNoPropagate;
 import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
 
-import lombok.NonNull;
-import lombok.val;
-import lombok.experimental.UtilityClass;
+import static de.agilecoders.wicket.jquery.JQuery.$;
 
 import 
de.agilecoders.wicket.core.markup.html.bootstrap.behavior.CssClassNameAppender;
 import de.agilecoders.wicket.core.util.Attributes;
@@ -107,8 +105,9 @@ import 
de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.Che
 import 
de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxXConfig.Sizes;
 import 
de.agilecoders.wicket.extensions.markup.html.bootstrap.form.fileinput.BootstrapFileInputField;
 import de.agilecoders.wicket.jquery.Key;
-
-import static de.agilecoders.wicket.jquery.JQuery.$;
+import lombok.NonNull;
+import lombok.val;
+import lombok.experimental.UtilityClass;
 
 /**
  * Wicket common idioms, in alphabetical order.
@@ -314,6 +313,10 @@ public class Wkt {
             final IModel<String> labelModel,
             final Wicket settings,
             final SerializableBiConsumer<AjaxButton, AjaxRequestTarget> 
onClick) {
+
+        // be aware: settings is not Serializable
+        val isPreventDoubleClickForFormSubmit = 
settings.isPreventDoubleClickForFormSubmit();
+
         return settings.isUseIndicatorForFormSubmit()
         ? new IndicatingAjaxButton(id, labelModel) {
             private static final long serialVersionUID = 1L;
@@ -321,7 +324,7 @@ public class Wkt {
                 onClick.accept(this, target);
             }
             @Override protected void updateAjaxAttributes(final 
AjaxRequestAttributes attributes) {
-                if (settings.isPreventDoubleClickForFormSubmit()) {
+                if (isPreventDoubleClickForFormSubmit) {
                     PanelUtil.disableBeforeReenableOnComplete(attributes, 
this);
                 }
             }
@@ -335,7 +338,7 @@ public class Wkt {
                 onClick.accept(this, target);
             }
             @Override protected void updateAjaxAttributes(final 
AjaxRequestAttributes attributes) {
-                if (settings.isPreventDoubleClickForFormSubmit()) {
+                if (isPreventDoubleClickForFormSubmit) {
                     PanelUtil.disableBeforeReenableOnComplete(attributes, 
this);
                 }
             }

Reply via email to