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 41ff86b9e3 CAUSEWAY-3730: fixes non-thread-safe uses of _Lazy
41ff86b9e3 is described below

commit 41ff86b9e3344b496b12052fb98b59755d7df2ee
Author: andi-huber <[email protected]>
AuthorDate: Fri Apr 26 15:19:48 2024 +0200

    CAUSEWAY-3730: fixes non-thread-safe uses of _Lazy
---
 .../metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java  | 2 +-
 .../causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java  | 2 +-
 .../extensions/secman/integration/authorizor/AuthorizorSecman.java      | 2 +-
 .../widgets/themepicker/CausewayWicketThemeSupportDefault.java          | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 231ed0fc8f..5b724a381e 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -303,7 +303,7 @@ implements FacetHolder {
     // -- ELEMENT SPECIFICATION
 
     private final _Lazy<Optional<ObjectSpecification>> elementSpecification =
-            _Lazy.of(()->lookupFacet(TypeOfFacet.class)
+            _Lazy.threadSafe(()->lookupFacet(TypeOfFacet.class)
                     .map(typeOfFacet -> typeOfFacet.elementSpec()));
 
     @Override
diff --git 
a/core/webapp/src/main/java/org/apache/causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java
 
b/core/webapp/src/main/java/org/apache/causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java
index 5d62c760ce..c994213fee 100644
--- 
a/core/webapp/src/main/java/org/apache/causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java
+++ 
b/core/webapp/src/main/java/org/apache/causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java
@@ -125,7 +125,7 @@ implements
 
     // -- HELPER
 
-    private _Lazy<List<Map<String, ConfigurationProperty>>> scopedConf = 
_Lazy.of(()->loadConfiguration());
+    private _Lazy<List<Map<String, ConfigurationProperty>>> scopedConf = 
_Lazy.threadSafe(()->loadConfiguration());
 
     private List<Map<String, ConfigurationProperty>> loadConfiguration() {
         val configCategories =
diff --git 
a/extensions/security/secman/integration/src/main/java/org/apache/causeway/extensions/secman/integration/authorizor/AuthorizorSecman.java
 
b/extensions/security/secman/integration/src/main/java/org/apache/causeway/extensions/secman/integration/authorizor/AuthorizorSecman.java
index 23aedb00b4..46b2b1159f 100644
--- 
a/extensions/security/secman/integration/src/main/java/org/apache/causeway/extensions/secman/integration/authorizor/AuthorizorSecman.java
+++ 
b/extensions/security/secman/integration/src/main/java/org/apache/causeway/extensions/secman/integration/authorizor/AuthorizorSecman.java
@@ -74,7 +74,7 @@ public class AuthorizorSecman implements Authorizor {
     @Inject Provider<PermissionCache> cache;
     @Inject MetaModelService metaModelService;
 
-    private _Lazy<Identifier> logoutIdentifier = 
_Lazy.of(this::logoutIdentifier);
+    private _Lazy<Identifier> logoutIdentifier = 
_Lazy.threadSafe(this::logoutIdentifier);
 
     private Identifier logoutIdentifier() {
         return 
Identifier.actionIdentifier(metaModelService.lookupLogicalTypeByClass(LogoutMenu.class).orElseThrow(),
 "logout");
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/themepicker/CausewayWicketThemeSupportDefault.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/themepicker/CausewayWicketThemeSupportDefault.java
index ffa1249bd4..74bc914831 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/themepicker/CausewayWicketThemeSupportDefault.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/themepicker/CausewayWicketThemeSupportDefault.java
@@ -53,7 +53,7 @@ import 
de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvid
 @Log4j2
 public class CausewayWicketThemeSupportDefault implements 
CausewayWicketThemeSupport {
 
-    private final _Lazy<ThemeProviderComposite> themeProvider = 
_Lazy.of(this::createThemeProvider);
+    private final _Lazy<ThemeProviderComposite> themeProvider = 
_Lazy.threadSafe(this::createThemeProvider);
 
     @Inject private CausewayConfiguration configuration;
     @Inject private ServiceRegistry serviceRegistry;

Reply via email to