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 2021/07/02 12:13:43 UTC
[isis] branch master updated: ISIS-2785: supposed fix for tooltip
shows the base class, rather than concrete
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 a636574 ISIS-2785: supposed fix for tooltip shows the base class, rather than concrete
a636574 is described below
commit a63657460e11304b3ff86bac6ec27ec452f451a1
Author: andi-huber <ah...@apache.org>
AuthorDate: Fri Jul 2 14:13:31 2021 +0200
ISIS-2785: supposed fix for tooltip shows the base class, rather than
concrete
not tested - just guessing
---
.../entity/icontitle/EntityIconAndTitlePanel.java | 27 +++++++++++++++++-----
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
index db34d6d..6719a51 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
@@ -19,6 +19,8 @@
package org.apache.isis.viewer.wicket.ui.components.entity.icontitle;
+import java.util.Optional;
+
import org.apache.wicket.Page;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
@@ -28,9 +30,11 @@ import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFactory;
import org.apache.isis.core.metamodel.facets.object.projection.ProjectionFacet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ObjectAdapterModel;
import org.apache.isis.viewer.wicket.model.models.PageType;
@@ -133,10 +137,11 @@ extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
}
final String title = determineTitle();
- this.label = newLabel(ID_ENTITY_TITLE, titleAbbreviated(title));
+ this.label = newLabel(ID_ENTITY_TITLE, title);
link.addOrReplace(this.label);
- String entityTypeName = adapterIfAny.getSpecification().getSingularName();
+ String entityTypeName = determineFriendlyType() // from actual underlying model
+ .orElseGet(adapterIfAny.getSpecification()::getSingularName); // not sure if this code path is ever reached
Tooltips.addTooltip(link, entityTypeName, title);
}
@@ -154,7 +159,9 @@ extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
val projectionFacet = entityModel.getTypeOfSpecification().getFacet(ProjectionFacet.class);
val redirectToAdapter =
- projectionFacet != null ? projectionFacet.projected(targetAdapter) : targetAdapter;
+ projectionFacet != null
+ ? projectionFacet.projected(targetAdapter)
+ : targetAdapter;
redirectToModel = EntityModel.ofAdapter(super.getCommonContext(), redirectToAdapter);
@@ -190,10 +197,18 @@ extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
return abbreviated(titleString, maxTitleLength);
}
+ private Optional<String> determineFriendlyType() {
+ val domainObject = getModel().getObject();
+ return ManagedObjects.isSpecified(domainObject)
+ ? _Strings.nonEmpty(domainObject.getSpecification().getSingularName())
+ : Optional.empty();
+ }
+
private String determineTitle() {
- ObjectAdapterModel model = getModel();
- val adapter = model.getObject();
- return adapter != null ? adapter.titleString(this::isContextAdapter) : "(no object)";
+ val domainObject = getModel().getObject();
+ return domainObject != null
+ ? titleAbbreviated(domainObject.titleString(this::isContextAdapter))
+ : "(no object)";
}
private int abbreviateTo(ObjectAdapterModel model, String titleString) {