You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2018/02/14 15:15:22 UTC
[isis] 06/13: ISIS-1817 + ISIS-1818 added missing assignment +
clarify comments
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 1155e89564761b6a94e2f02637f0044d9e9cabc8
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Jan 15 09:08:29 2018 +0100
ISIS-1817 + ISIS-1818 added missing assignment + clarify comments
---
.../model/models/whereami/WhereAmIModelDefault.java | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java
index ff06907..9b335ba 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java
@@ -72,7 +72,7 @@ class WhereAmIModelDefault implements WhereAmIModel {
@Override
public Stream<EntityModel> streamParentChainReversed() {
if(!isWhereAmIEnabled)
- return Stream.empty(); // unexpected call, we could log a warning
+ return Stream.empty(); //[ahuber] unexpected call, we could log a warning
return reversedChainOfParents.stream()
.map(this::toEntityModel);
@@ -89,11 +89,20 @@ class WhereAmIModelDefault implements WhereAmIModel {
private void overrideFromConfigIfNew(IsisConfiguration configuration) {
//[ahuber] without evidence that this significantly improves performance,
- // we use the smart update idiom here ...
- final int newConfigHash = System.identityHashCode(configuration);
+ // (skipping 2 hash-table lookups) we use the smart update idiom here ...
+ //
+ // Note: Updates are expected to occur only once per application life-cycle,
+ // however this class might be loaded by a class-loader, that endures multiple
+ // application life-cycles. Chances of hash-collisions are simply neglected.
+
+ // that's the hash of the object (we don't care about the actual config values)
+ // assuming that, we get a new (immutable) config instance each app's life-cycle:
+ final int newConfigHash = System.identityHashCode(configuration);
if(newConfigHash == configHash)
return;
+ configHash = newConfigHash;
+
isWhereAmIEnabled = configuration.getBoolean(
CONFIG_KEY_IS_WHERE_AM_I_FEATURE_ENABLED,
IS_WHERE_AM_I_FEATURE_ENABLED_DEFAULT);
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.