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 2020/01/24 10:21:59 UTC

[isis] 01/02: ISIS-2158: Object_objectIdentifier: when viewmodel ... take the hexed hash of the identifier instead of ellipsifying it

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

commit 9aae4497f26c286ecf3e1ea91b8e6ad9409c820e
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jan 24 10:15:34 2020 +0100

    ISIS-2158: Object_objectIdentifier: when viewmodel ... take the hexed
    hash of the identifier instead of ellipsifying it
---
 .../applib/mixins/metamodel/Object_objectIdentifier.java | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
index eef7817..de8a9f2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
@@ -33,6 +33,7 @@ import org.apache.isis.applib.services.bookmark.BookmarkService;
 import org.apache.isis.applib.services.metamodel.MetaModelService;
 import org.apache.isis.core.commons.internal.base._Strings;
 
+import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
@@ -60,10 +61,19 @@ public class Object_objectIdentifier {
     public String prop() {
         val bookmark = bookmarkService.bookmarkForElseThrow(this.holder);
         val sort = mmService.sortOf(bookmark, MetaModelService.Mode.RELAXED);
-        if(sort.isEntity()) {
-            return bookmark.getIdentifier();    
+        if(!sort.isEntity()) {
+            return shortend(bookmark.getIdentifier());
         }
-        return _Strings.ellipsifyAtStart(bookmark.getIdentifier(), 16, "…");
+        return bookmark.getIdentifier();
+    }
+
+    // -- HELPER
+    
+    private String shortend(@NonNull String identifier) {
+        
+        val hashHexed = Integer.toHexString(identifier.hashCode());
+        val hashPadded = _Strings.padStart(hashHexed, 8, '0');
+        return "»" + hashPadded;
     }