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));
+ }
+
+
}