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
The following commit(s) were added to refs/heads/master by this push:
new 5bac54aac0 ISIS-3109: prepare InteractionContext to be amended with
time-zone info
5bac54aac0 is described below
commit 5bac54aac0bfe84fb2845b470aaa3ffb4c174806
Author: Andi Huber <[email protected]>
AuthorDate: Thu Aug 4 07:22:09 2022 +0200
ISIS-3109: prepare InteractionContext to be amended with time-zone info
---
.../isis/applib/services/iactnlayer/InteractionContext.java | 10 ++++++++++
.../runtimeservices/user/ImpersonatedUserHolderDefault.java | 2 +-
.../user/UserCurrentSessionTimeZoneHolderDefault.java | 5 +++--
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git
a/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionContext.java
b/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionContext.java
index 8674074bd7..06648c1837 100644
---
a/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionContext.java
+++
b/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionContext.java
@@ -102,7 +102,17 @@ public class InteractionContext implements Serializable {
@With @Getter @Builder.Default
final @NonNull ZoneId timeZone = ZoneId.systemDefault();
+ /**
+ * Only override if zoneIdIfAny is present, otherwise acts as identity
operation.
+ */
+ public InteractionContext withTimeZoneIfAny(final Optional<ZoneId>
zoneIdIfAny) {
+ System.err.printf("zoneId %s%n", zoneIdIfAny.orElse(null));
+
+ return zoneIdIfAny
+ .map(this::withTimeZone)
+ .orElse(this);
+ }
/**
* Convenience method for use with {@link
org.apache.isis.applib.services.sudo.SudoService}, returning a
diff --git
a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/ImpersonatedUserHolderDefault.java
b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/ImpersonatedUserHolderDefault.java
index 1fb34681aa..2e4b64dacf 100644
---
a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/ImpersonatedUserHolderDefault.java
+++
b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/ImpersonatedUserHolderDefault.java
@@ -39,7 +39,7 @@ public class ImpersonatedUserHolderDefault implements
ImpersonatedUserHolder {
private static final String SESSION_KEY_IMPERSONATED_USER =
ImpersonatedUserHolderDefault.class.getName() + "#userMemento";
- @Inject private Optional<KeyValueSessionStore> keyValueSessionStore;
+ @Inject private Optional<KeyValueSessionStore> keyValueSessionStore =
Optional.empty();
@Override
public boolean supportsImpersonation() {
diff --git
a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/UserCurrentSessionTimeZoneHolderDefault.java
b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/UserCurrentSessionTimeZoneHolderDefault.java
index 1979cee4a8..cbe3d1c60b 100644
---
a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/UserCurrentSessionTimeZoneHolderDefault.java
+++
b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/UserCurrentSessionTimeZoneHolderDefault.java
@@ -36,12 +36,13 @@ import lombok.NonNull;
@Service
@Named(IsisModuleCoreRuntimeServices.NAMESPACE +
".UserCurrentSessionTimeZoneHolderDefault")
@javax.annotation.Priority(PriorityPrecedence.MIDPOINT)
-public class UserCurrentSessionTimeZoneHolderDefault implements
UserCurrentSessionTimeZoneHolder {
+public class UserCurrentSessionTimeZoneHolderDefault
+implements UserCurrentSessionTimeZoneHolder {
private static final String SESSION_KEY_ZONE_ID =
UserCurrentSessionTimeZoneHolderDefault.class.getName() +
"#zoneId";
- @Inject private Optional<KeyValueSessionStore> keyValueSessionStore;
+ @Inject private Optional<KeyValueSessionStore> keyValueSessionStore =
Optional.empty();
@Override
public void setUserTimeZone(final @NonNull ZoneId zoneId) {