From 35cb531da9d7ec01f0de259f8401a2ef3f800fa6 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Thu, 9 Dec 2010 12:51:01 +0000
Subject: [PATCH] LMS-1783 escape permlink field on server and unescape it in
 client

SVN: 19063
---
 .../cisd/common/utilities/ReflectingStringEscaper.java         | 2 --
 .../client/web/client/application/renderer/LinkRenderer.java   | 3 ++-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/ReflectingStringEscaper.java b/common/source/java/ch/systemsx/cisd/common/utilities/ReflectingStringEscaper.java
index 6638e52f78b..bd133b7f534 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/ReflectingStringEscaper.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/ReflectingStringEscaper.java
@@ -227,8 +227,6 @@ class ReflectingStringEscaperUnrestricted<T> extends ReflectingStringEscaperImpl
         private Visitor()
         {
             unescapedProperties = new HashSet<String>();
-            // Don't escape these properties
-            unescapedProperties.add("permlink");
         }
 
         public String tryVisit(String value, Object object, Field fieldOrNull)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
index ee15563fcc0..5eb5a6df0b9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
@@ -35,6 +35,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.CommonView
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.BaseEntityModel;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.MultilineHTML;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.lang.StringEscapeUtils;
 
 /**
  * @author Franz-Josef Elmer
@@ -111,7 +112,7 @@ public class LinkRenderer
                         int rowIndex, int colIndex, ListStore<BaseEntityModel<?>> store,
                         Grid<BaseEntityModel<?>> grid)
                 {
-                    String originalValue = String.valueOf(model.get(property));
+                    String originalValue = StringEscapeUtils.unescapeHtml(String.valueOf(model.get(property)));
                     String linkText =
                             overridenLinkTextOrNull != null ? overridenLinkTextOrNull
                                     : originalValue;
-- 
GitLab