You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/10/30 18:56:27 UTC
[isis] branch v2 updated: ISIS-2158: fixes breadcrumbs (where-am-I)
not shown
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/v2 by this push:
new cd6f2b0 ISIS-2158: fixes breadcrumbs (where-am-I) not shown
cd6f2b0 is described below
commit cd6f2b0ee0df8c0cae4f6f34e1622041f0838b31
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Oct 30 19:56:10 2019 +0100
ISIS-2158: fixes breadcrumbs (where-am-I) not shown
---
.../models/whereami/WhereAmIModelDefault.java | 33 ++++------------------
.../viewer/wicket/ui/pages/entity/EntityPage.java | 7 ++---
2 files changed, 7 insertions(+), 33 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 67d58e5..f9ab068 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
@@ -22,7 +22,6 @@ package org.apache.isis.viewer.wicket.model.models.whereami;
import java.util.LinkedList;
import java.util.stream.Stream;
-import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.metamodel.util.pchain.ParentChain;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.webapp.context.IsisWebAppCommonContext;
@@ -43,13 +42,13 @@ class WhereAmIModelDefault implements WhereAmIModel {
private boolean isWhereAmIEnabled;
private int maxChainLength;
- private static int configHash = 0;
-
public WhereAmIModelDefault(EntityModel startOfChain) {
this.startOfChain = startOfChain;
this.commonContext = startOfChain.getCommonContext();
- overrideFromConfigIfNew(commonContext.getConfiguration());
+ val settings = commonContext.getConfiguration().getViewer().getWicket().getWhereAmI();
+ this.isWhereAmIEnabled = settings.isEnabled();
+ this.maxChainLength = settings.getMaxParentChainLength();
val adapter = startOfChain.getObject();
final Object startNode = adapter.getPojo();
@@ -66,9 +65,9 @@ class WhereAmIModelDefault implements WhereAmIModel {
@Override
public boolean isShowWhereAmI() {
- if(!isWhereAmIEnabled)
+ if(!isWhereAmIEnabled) {
return false; // this will prevent rendering
-
+ }
return !reversedChainOfParents.isEmpty();
}
@@ -88,26 +87,4 @@ class WhereAmIModelDefault implements WhereAmIModel {
return EntityModel.ofAdapter(commonContext, objectAdapter);
}
- private void overrideFromConfigIfNew(IsisConfiguration configuration) {
-
- //[ahuber] without evidence that this significantly improves performance,
- // (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.getViewer().getWicket().getWhereAmI().isEnabled();
- maxChainLength = configuration.getViewer().getWicket().getWhereAmI().getMaxParentChainLength();
- }
-
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
index a68f1e9..7d0e719 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
@@ -32,7 +32,6 @@ import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.CssResourceReference;
import org.apache.wicket.util.string.Strings;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.members.cssclass.CssClassFacet;
@@ -228,8 +227,7 @@ public class EntityPage extends PageAbstract {
WebMarkupContainer entityPageContainer,
WhereAmIModel whereAmIModel) {
- final WebMarkupContainer whereAmIContainer =
- new WebMarkupContainer("whereAmI-container");
+ val whereAmIContainer = new WebMarkupContainer("whereAmI-container");
entityPageContainer.addOrReplace(whereAmIContainer);
if(!whereAmIModel.isShowWhereAmI()) {
@@ -240,8 +238,7 @@ public class EntityPage extends PageAbstract {
final RepeatingView listItems = new RepeatingView("whereAmI-items");
whereAmIModel.streamParentChainReversed().forEach(entityModel->
- listItems.add(new EntityIconAndTitlePanel(listItems.newChildId(), entityModel))
- );
+ listItems.add(new EntityIconAndTitlePanel(listItems.newChildId(), entityModel)));
listItems.add(new Label(listItems.newChildId(), whereAmIModel.getStartOfChain().getTitle()));