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 30210340a1ef60ce54bf8f0c7b00fd8024733203..a92c53d5a4e08b983af07a0bfb624823f1576745 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(); } // ---------------------------