From 8b89b04b6bee78d4e541d05e976e530eda5591f8 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Tue, 9 Nov 2010 14:56:26 +0000
Subject: [PATCH] LMS-1767 Switched to using the same escape mechanism in all
 translators.

SVN: 18606
---
 .../translator/ExternalDataTranslator.java    | 17 +++++++--------
 .../GridCustomExpressionTranslator.java       | 21 +++++++------------
 .../translator/MaterialTypeTranslator.java    |  9 ++++----
 .../shared/translator/SampleTranslator.java   |  9 ++++----
 .../translator/SampleTypeTranslator.java      | 16 +++++++-------
 .../shared/translator/ScriptTranslator.java   | 11 +++++-----
 .../shared/translator/TypeTranslator.java     | 20 ++++++++----------
 .../translator/VocabularyTranslator.java      | 11 +++++-----
 .../shared/translator/QueryTranslator.java    | 11 +++++-----
 9 files changed, 54 insertions(+), 71 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/ExternalDataTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/ExternalDataTranslator.java
index f2073864057..914f85c21eb 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/ExternalDataTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/ExternalDataTranslator.java
@@ -22,8 +22,6 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 
-import org.apache.commons.lang.StringEscapeUtils;
-
 import ch.systemsx.cisd.common.types.BooleanOrUnknown;
 import ch.systemsx.cisd.common.utilities.ReflectingStringEscaper;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolder;
@@ -79,18 +77,17 @@ public class ExternalDataTranslator
         ExperimentPE experiment = externalDataPE.getExperiment();
         ExternalData externalData = new ExternalData();
         externalData.setId(HibernateUtils.getId(externalDataPE));
-        externalData.setCode(StringEscapeUtils.escapeHtml(externalDataPE.getCode()));
+        externalData.setCode(externalDataPE.getCode());
         externalData.setComplete(BooleanOrUnknown.tryToResolve(externalDataPE.getComplete()));
         externalData.setStatus(externalDataPE.getStatus());
-        externalData.setDataProducerCode(StringEscapeUtils.escapeHtml(externalDataPE
-                .getDataProducerCode()));
+        externalData.setDataProducerCode(externalDataPE.getDataProducerCode());
         externalData.setDataSetType(DataSetTypeTranslator.translate(
                 externalDataPE.getDataSetType(), new HashMap<PropertyTypePE, PropertyType>()));
         externalData.setDerived(externalDataPE.isDerived());
         externalData
                 .setFileFormatType(TypeTranslator.translate(externalDataPE.getFileFormatType()));
         externalData.setInvalidation(tryToGetInvalidation(sampleOrNull, experiment));
-        externalData.setLocation(StringEscapeUtils.escapeHtml(externalDataPE.getLocation()));
+        externalData.setLocation(externalDataPE.getLocation());
         externalData.setLocatorType(TypeTranslator.translate(externalDataPE.getLocatorType()));
         final Collection<ExternalData> parents = new HashSet<ExternalData>();
         externalData.setParents(parents);
@@ -111,7 +108,7 @@ public class ExternalDataTranslator
         setProperties(externalDataPE, externalData);
         externalData.setExperiment(ExperimentTranslator.translate(experiment, baseIndexURL,
                 withExperimentFields));
-        return externalData;
+        return ReflectingStringEscaper.escapeShallow(externalData);
     }
 
     private static void setProperties(ExternalDataPE externalDataPE, ExternalData externalData)
@@ -168,10 +165,10 @@ public class ExternalDataTranslator
             return null;
         }
         Invalidation result = new Invalidation();
-        result.setReason(StringEscapeUtils.escapeHtml(invalidationPE.getReason()));
+        result.setReason(invalidationPE.getReason());
         result.setRegistrationDate(invalidationPE.getRegistrationDate());
         result.setRegistrator(PersonTranslator.translate(invalidationPE.getRegistrator()));
-        return result;
+        return ReflectingStringEscaper.escapeShallow(result);
     }
 
     private static Sample fillSample(Sample sample, SamplePE samplePE, boolean loadSampleProperties)
@@ -213,7 +210,7 @@ public class ExternalDataTranslator
     private static ExternalData fillExternalData(ExternalData externalData, DataPE dataPE)
     {
         externalData.setId(HibernateUtils.getId(dataPE));
-        externalData.setCode(StringEscapeUtils.escapeHtml(dataPE.getCode()));
+        externalData.setCode(dataPE.getCode());
         externalData.setDataSetType(DataSetTypeTranslator.translate(dataPE.getDataSetType(),
                 new HashMap<PropertyTypePE, PropertyType>()));
         return ReflectingStringEscaper.escapeShallow(externalData);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/GridCustomExpressionTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/GridCustomExpressionTranslator.java
index d69d96c189a..536bcc7a714 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/GridCustomExpressionTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/GridCustomExpressionTranslator.java
@@ -16,8 +16,6 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.translator;
 
-import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -66,10 +64,8 @@ public final class GridCustomExpressionTranslator
             result.setCode(original.getCode());
             result.setName(original.getLabel());
 
-            ReflectingStringEscaper.escapeShallow(result);
-
-            translateExpression(original, result);
-            return result;
+            translateExpressionWithoutEscaping(original, result);
+            return ReflectingStringEscaper.escapeShallow(result);
         }
     }
 
@@ -97,27 +93,26 @@ public final class GridCustomExpressionTranslator
                 return null;
             }
             final GridCustomFilter result = new GridCustomFilter();
-            result.setName(escapeHtml(original.getName()));
+            result.setName(original.getName());
             result.setupParameters(ExpressionUtil.extractParameters(original.getExpression()));
 
-            translateExpression(original, result);
-            return result;
+            translateExpressionWithoutEscaping(original, result);
+            return ReflectingStringEscaper.escapeShallow(result);
         }
 
     }
 
-    public static void translateExpression(final AbstractExpressionPE<?> expression,
+    public static void translateExpressionWithoutEscaping(final AbstractExpressionPE<?> expression,
             final AbstractExpression result)
     {
         result.setId(HibernateUtils.getId(expression));
         result.setModificationDate(expression.getModificationDate());
-        result.setExpression(escapeHtml(expression.getExpression()));
-        result.setDescription(escapeHtml(expression.getDescription()));
+        result.setExpression(expression.getExpression());
+        result.setDescription(expression.getDescription());
         result.setRegistrator(PersonTranslator.translate(expression.getRegistrator()));
         result.setRegistrationDate(expression.getRegistrationDate());
         result.setDatabaseInstance(DatabaseInstanceTranslator.translate(expression
                 .getDatabaseInstance()));
         result.setPublic(expression.isPublic());
     }
-
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/MaterialTypeTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/MaterialTypeTranslator.java
index 4a646535eaa..aaa2fcc7dbd 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/MaterialTypeTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/MaterialTypeTranslator.java
@@ -21,8 +21,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.commons.lang.StringEscapeUtils;
-
+import ch.systemsx.cisd.common.utilities.ReflectingStringEscaper;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
@@ -97,11 +96,11 @@ public class MaterialTypeTranslator
     {
         final MaterialType result = new MaterialType();
         result.setId(HibernateUtils.getId(entityTypeOrNull));
-        result.setCode(StringEscapeUtils.escapeHtml(entityTypeOrNull.getCode()));
-        result.setDescription(StringEscapeUtils.escapeHtml(entityTypeOrNull.getDescription()));
+        result.setCode(entityTypeOrNull.getCode());
+        result.setDescription(entityTypeOrNull.getDescription());
         result.setDatabaseInstance(DatabaseInstanceTranslator.translate(entityTypeOrNull
                 .getDatabaseInstance()));
-        return result;
+        return ReflectingStringEscaper.escapeShallow(result);
     }
 
     /** translates basic information, without properties */
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SampleTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SampleTranslator.java
index ea028f697d1..09dc5a4392a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SampleTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SampleTranslator.java
@@ -20,8 +20,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 
-import org.apache.commons.lang.StringEscapeUtils;
-
+import ch.systemsx.cisd.common.utilities.ReflectingStringEscaper;
 import ch.systemsx.cisd.openbis.generic.shared.basic.PermlinkUtilities;
 import ch.systemsx.cisd.openbis.generic.shared.basic.SearchlinkUtilities;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Attachment;
@@ -85,7 +84,7 @@ public final class SampleTranslator
     {
         final Sample result = new Sample();
         setCodes(result, samplePE);
-        result.setPermId(StringEscapeUtils.escapeHtml(samplePE.getPermId()));
+        result.setPermId(samplePE.getPermId());
         result.setPermlink(PermlinkUtilities.createPermlinkURL(baseIndexURL, EntityKind.SAMPLE,
                 samplePE.getPermId()));
         result.setSearchlink(SearchlinkUtilities.createSearchlinkURL(baseIndexURL,
@@ -94,7 +93,7 @@ public final class SampleTranslator
         // NOTE: we should always translate Id in this way
         // because getId() on HibernateProxy object always returns null
         result.setId(HibernateUtils.getId(samplePE));
-        result.setIdentifier(StringEscapeUtils.escapeHtml(samplePE.getIdentifier()));
+        result.setIdentifier(samplePE.getIdentifier());
         result.setSampleType(SampleTypeTranslator.translate(samplePE.getSampleType(),
                 new HashMap<PropertyTypePE, PropertyType>()));
         if (withDetails)
@@ -138,7 +137,7 @@ public final class SampleTranslator
             }
         }
         result.setInvalidation(InvalidationTranslator.translate(samplePE.getInvalidation()));
-        return result;
+        return ReflectingStringEscaper.escapeShallow(result);
     }
 
     /** Sets both subcode and "full" code to {@link Sample} translating it from {@link SamplePE}. */
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SampleTypeTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SampleTypeTranslator.java
index 69879daff97..2d7b621f16e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SampleTypeTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SampleTypeTranslator.java
@@ -20,8 +20,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang.StringEscapeUtils;
-
+import ch.systemsx.cisd.common.utilities.ReflectingStringEscaper;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
@@ -46,21 +45,20 @@ public class SampleTypeTranslator
     {
         final SampleType result = new SampleType();
         result.setId(HibernateUtils.getId(sampleTypePE));
-        result.setCode(StringEscapeUtils.escapeHtml(sampleTypePE.getCode()));
+        result.setCode(sampleTypePE.getCode());
         result.setListable(sampleTypePE.isListable());
-        result.setDescription(StringEscapeUtils.escapeHtml(sampleTypePE.getDescription()));
+        result.setDescription(sampleTypePE.getDescription());
         result.setGeneratedFromHierarchyDepth(sampleTypePE.getGeneratedFromHierarchyDepth());
         result.setContainerHierarchyDepth(sampleTypePE.getContainerHierarchyDepth());
         result.setSubcodeUnique(sampleTypePE.isSubcodeUnique());
         result.setAutoGeneratedCode(sampleTypePE.isAutoGeneratedCode());
-        result.setGeneratedCodePrefix(StringEscapeUtils.escapeHtml(sampleTypePE
-                .getGeneratedCodePrefix()));
+        result.setGeneratedCodePrefix(sampleTypePE.getGeneratedCodePrefix());
         result.setSampleTypePropertyTypes(EntityType
-                .sortedInternally(SampleTypePropertyTypeTranslator.translate(sampleTypePE
-                        .getSampleTypePropertyTypes(), result, cacheOrNull)));
+                .sortedInternally(SampleTypePropertyTypeTranslator.translate(
+                        sampleTypePE.getSampleTypePropertyTypes(), result, cacheOrNull)));
         result.setDatabaseInstance(DatabaseInstanceTranslator.translate(sampleTypePE
                 .getDatabaseInstance()));
-        return result;
+        return ReflectingStringEscaper.escapeShallow(result);
 
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/ScriptTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/ScriptTranslator.java
index ba8eaee8889..d3f68d2f00e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/ScriptTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/ScriptTranslator.java
@@ -19,8 +19,7 @@ package ch.systemsx.cisd.openbis.generic.shared.translator;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.lang.StringEscapeUtils;
-
+import ch.systemsx.cisd.common.utilities.ReflectingStringEscaper;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Script;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ScriptPE;
 import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils;
@@ -55,14 +54,14 @@ public final class ScriptTranslator
         final Script result = new Script();
         result.setId(HibernateUtils.getId(script));
         result.setEntityKind(script.getEntityKind());
-        result.setName(StringEscapeUtils.escapeHtml(script.getName()));
-        result.setDescription(StringEscapeUtils.escapeHtml(script.getDescription()));
-        result.setScript(StringEscapeUtils.escapeHtml(script.getScript()));
+        result.setName(script.getName());
+        result.setDescription(script.getDescription());
+        result.setScript(script.getScript());
         result.setDatabaseInstance(DatabaseInstanceTranslator.translate(script
                 .getDatabaseInstance()));
         result.setRegistrationDate(script.getRegistrationDate());
         result.setRegistrator(PersonTranslator.translate(script.getRegistrator()));
-        return result;
+        return ReflectingStringEscaper.escapeShallow(result);
     }
 
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/TypeTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/TypeTranslator.java
index 34ba5c6cb82..1f364180e2b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/TypeTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/TypeTranslator.java
@@ -19,8 +19,7 @@ package ch.systemsx.cisd.openbis.generic.shared.translator;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.lang.StringEscapeUtils;
-
+import ch.systemsx.cisd.common.utilities.ReflectingStringEscaper;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AbstractType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.FileFormatType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.LocatorType;
@@ -32,8 +31,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.SampleTypePE;
 
 /**
  * Translator of {@link AbstractTypePE} instances.
- *
- * @author     Franz-Josef Elmer
+ * 
+ * @author Franz-Josef Elmer
  */
 public class TypeTranslator
 {
@@ -53,30 +52,29 @@ public class TypeTranslator
         }
         return result;
     }
-    
+
     public static LocatorType translate(LocatorTypePE locatorType)
     {
         LocatorType result = new LocatorType();
         fill(result, locatorType);
         return result;
     }
-    
+
     public static SampleType translate(SampleTypePE sampleType)
     {
         SampleType result = new SampleType();
         fill(result, sampleType);
         return result;
     }
-    
+
     private static <T extends AbstractType> T fill(T type, AbstractTypePE typePEOrNull)
     {
         if (typePEOrNull != null)
         {
-            type.setCode(StringEscapeUtils.escapeHtml(typePEOrNull.getCode()));
-            type.setDescription(StringEscapeUtils.escapeHtml(typePEOrNull.getDescription()));
+            type.setCode(typePEOrNull.getCode());
+            type.setDescription(typePEOrNull.getDescription());
         }
-        return type;
+        return ReflectingStringEscaper.escapeShallow(type);
     }
 
-
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/VocabularyTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/VocabularyTranslator.java
index 22a2041641d..e175a0edbe2 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/VocabularyTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/VocabularyTranslator.java
@@ -19,8 +19,7 @@ package ch.systemsx.cisd.openbis.generic.shared.translator;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.lang.StringEscapeUtils;
-
+import ch.systemsx.cisd.common.utilities.ReflectingStringEscaper;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
 import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE;
 import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils;
@@ -43,15 +42,15 @@ public final class VocabularyTranslator
         }
         final Vocabulary result = new Vocabulary();
         result.setId(HibernateUtils.getId(vocabulary));
-        result.setCode(StringEscapeUtils.escapeHtml(vocabulary.getCode()));
-        result.setDescription(StringEscapeUtils.escapeHtml(vocabulary.getDescription()));
+        result.setCode(vocabulary.getCode());
+        result.setDescription(vocabulary.getDescription());
         result.setInternalNamespace(vocabulary.isInternalNamespace());
         result.setManagedInternally(vocabulary.isManagedInternally());
         result.setChosenFromList(vocabulary.isChosenFromList());
-        result.setURLTemplate(StringEscapeUtils.escapeHtml(vocabulary.getURLTemplate()));
+        result.setURLTemplate(vocabulary.getURLTemplate());
         result.setRegistrationDate(vocabulary.getRegistrationDate());
         result.setRegistrator(PersonTranslator.translate(vocabulary.getRegistrator()));
-        return result;
+        return ReflectingStringEscaper.escapeShallow(result);
     }
 
     public static List<Vocabulary> translate(List<VocabularyPE> vocabularies)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/shared/translator/QueryTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/shared/translator/QueryTranslator.java
index d18ff62e5d6..7b17f87bb68 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/shared/translator/QueryTranslator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/shared/translator/QueryTranslator.java
@@ -16,12 +16,11 @@
 
 package ch.systemsx.cisd.openbis.plugin.query.shared.translator;
 
-import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
-
 import java.util.ArrayList;
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.common.utilities.ReflectingStringEscaper;
 import ch.systemsx.cisd.openbis.generic.shared.basic.ExpressionUtil;
 import ch.systemsx.cisd.openbis.generic.shared.dto.QueryPE;
 import ch.systemsx.cisd.openbis.generic.shared.translator.GridCustomExpressionTranslator;
@@ -70,13 +69,13 @@ public final class QueryTranslator
             return null;
         }
         final QueryExpression result = new QueryExpression();
-        result.setName(escapeHtml(original.getName()));
+        result.setName(original.getName());
         result.setQueryDatabase(new QueryDatabase(database.getKey(), database.getLabel()));
         result.setQueryType(original.getQueryType());
-        result.setEntityTypeCode(escapeHtml(original.getEntityTypeCodePattern()));
+        result.setEntityTypeCode(original.getEntityTypeCodePattern());
         result.setupParameters(ExpressionUtil.extractParameters(original.getExpression()));
 
-        GridCustomExpressionTranslator.translateExpression(original, result);
-        return result;
+        GridCustomExpressionTranslator.translateExpressionWithoutEscaping(original, result);
+        return ReflectingStringEscaper.escapeShallow(result);
     }
 }
-- 
GitLab