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/causeway.git


The following commit(s) were added to refs/heads/master by this push:
     new d00f80e472 CAUSEWAY-3522: re-enable 
'causeway.viewer.wicket.dataTableModelReuse' switch until we have a fix
d00f80e472 is described below

commit d00f80e472355c513635ac2ec8c5b5419f446d69
Author: Andi Huber <[email protected]>
AuthorDate: Wed Jul 19 10:52:01 2023 +0200

    CAUSEWAY-3522: re-enable 'causeway.viewer.wicket.dataTableModelReuse'
    switch until we have a fix
---
 .../models/interaction/coll/DataTableModelWkt.java | 23 ++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git 
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataTableModelWkt.java
 
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataTableModelWkt.java
index fbed84afce..fde7b56740 100644
--- 
a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataTableModelWkt.java
+++ 
b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataTableModelWkt.java
@@ -126,8 +126,27 @@ implements
 
     @Override
     public final void detach() {
-        // don't detach the model, instead lazily re-fetch state of the 
contained elements
-        // at time of writing will otherwise break object deletion on JDO, see 
[CAUSEWAY-3530]
+        if(isDataTableModelDetachable()) {
+            // at time of writing breaks object deletion on JDO, see 
[CAUSEWAY-3530]
+            super.detach();
+        }
+        //FIXME[CAUSEWAY-3522]
+        // perhaps instead call bookmarkedObjectModel().detach();
+        // or add custom HOLLOW flag and mark the bookmarkedObjectModel() 
hollow
     }
 
+    // -- HELPER
+
+    private final static String PROPERTY_NAME_MODEL_REUSE = 
"causeway.viewer.wicket.dataTableModelReuse";
+    /**
+     * when set to false, forces detach
+     * @deprecated remove this switch once we have a fix
+     */
+    @Deprecated
+    private static boolean isDataTableModelDetachable() {
+        return 
"false".equalsIgnoreCase(System.getenv(PROPERTY_NAME_MODEL_REUSE))
+                || 
"false".equalsIgnoreCase(System.getProperty(PROPERTY_NAME_MODEL_REUSE));
+    }
+
+
 }

Reply via email to