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;