From b0b08da9428a52e0484209ae2011aeda6eb33bd5 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Wed, 9 Mar 2011 20:23:48 +0000
Subject: [PATCH] [LMS-1979] allow to change text of displayed entity links
 (default: identifier)

SVN: 20274
---
 .../shared/basic/dto/EntityTableCell.java     | 20 ++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTableCell.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTableCell.java
index 30210340a1e..a92c53d5a4e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTableCell.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTableCell.java
@@ -33,6 +33,8 @@ public class EntityTableCell implements ISerializableComparable
 
     private String identifierOrNull; // 'null' when entity is missing
 
+    private String linkTextOrNull; // 'null' when link text wasn't redefined (use identifier)
+
     public EntityTableCell(EntityKind entityKind, String permId)
     {
         this(entityKind, permId, permId);
@@ -94,10 +96,26 @@ public class EntityTableCell implements ISerializableComparable
         return entityKind.equals(otherCell.entityKind) && permId.equals(otherCell.permId);
     }
 
+    private String createLinkText()
+    {
+        if (isMissing())
+        {
+            return (linkTextOrNull != null ? linkTextOrNull : permId) + MISSING_ENTITY_SUFFIX;
+        } else
+        {
+            return linkTextOrNull != null ? linkTextOrNull : identifierOrNull;
+        }
+    }
+
+    public void setLinkText(String linkText)
+    {
+        this.linkTextOrNull = linkText;
+    }
+
     @Override
     public String toString()
     {
-        return isMissing() ? String.valueOf(permId) + MISSING_ENTITY_SUFFIX : identifierOrNull;
+        return createLinkText();
     }
 
     // ---------------------------
-- 
GitLab