From dfdc3b03fc4ec1d8e6f00be0182d26e030edb878 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Tue, 14 Dec 2010 08:10:03 +0000
Subject: [PATCH] LMS-1783 bug fixed: correct column name of properties

SVN: 19114
---
 .../shared/util/TypedTableModelBuilder.java   |  5 ++++-
 .../util/TypedTableModelBuilderTest.java      | 20 +++++++++++--------
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilder.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilder.java
index 54d7a47eb8c..3ad1eb5922c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilder.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilder.java
@@ -134,7 +134,10 @@ public class TypedTableModelBuilder<T extends ISerializable>
             {
                 PropertyType propertyType = property.getPropertyType();
                 String label = propertyType.getLabel();
-                String code = idPrefix + propertyType.getCode();
+                boolean internalNamespace = propertyType.isInternalNamespace();
+                String code =
+                        idPrefix + (internalNamespace ? "INTERN" : "USER") + "-"
+                                + propertyType.getSimpleCode();
                 IColumn column = column(code).withTitle(label);
                 DataTypeCode dataType = propertyType.getDataType().getCode();
                 ISerializableComparable value;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilderTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilderTest.java
index 20767058fe7..ec7d5de2ce7 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilderTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilderTest.java
@@ -109,18 +109,19 @@ public class TypedTableModelBuilderTest extends AssertJUnit
     {
         TypedTableModelBuilder<ISerializable> builder = new TypedTableModelBuilder<ISerializable>();
         builder.addRow(new MockSerializable());
-        IEntityProperty p1 = property("beta", "3.25", DataTypeCode.REAL);
-        IEntityProperty p2 = property("alpha", "hello\nworld", DataTypeCode.MULTILINE_VARCHAR);
-        IEntityProperty p3 = property("gamma", "hello", DataTypeCode.VARCHAR);
+        IEntityProperty p1 = property("beta", "3.25", true, DataTypeCode.REAL);
+        IEntityProperty p2 = property("alpha", "hello\nworld", false, DataTypeCode.MULTILINE_VARCHAR);
+        IEntityProperty p3 = property("gamma", "hello", false, DataTypeCode.VARCHAR);
         builder.columnGroup("g").addProperties("MY-", Arrays.asList(p1, p2, p3));
         builder.addRow(new MockSerializable());
-        IEntityProperty p4 = property("gamma", "hi", DataTypeCode.VARCHAR);
-        IEntityProperty p5 = property("kappa", "42", DataTypeCode.INTEGER);
+        IEntityProperty p4 = property("gamma", "hi", false, DataTypeCode.VARCHAR);
+        IEntityProperty p5 = property("kappa", "42", false, DataTypeCode.INTEGER);
         builder.columnGroup("g").addProperties("MY-", Arrays.asList(p4, p5));
 
         TypedTableModel<ISerializable> model = builder.getModel();
         List<TableModelColumnHeader> headers = model.getHeader();
-        assertHeadersOrder(headers, "MY-ALPHA", "MY-BETA", "MY-GAMMA", "MY-KAPPA");
+        System.out.println("HEADERS:"+headers);
+        assertHeadersOrder(headers, "MY-USER-ALPHA", "MY-INTERN-BETA", "MY-USER-GAMMA", "MY-USER-KAPPA");
         assertEquals("alpha", headers.get(0).getTitle());
         assertEquals(DataTypeCode.MULTILINE_VARCHAR, headers.get(0).getDataType());
         assertEquals("beta", headers.get(1).getTitle());
@@ -142,11 +143,14 @@ public class TypedTableModelBuilderTest extends AssertJUnit
         assertEquals(2, rows.size());
     }
 
-    private IEntityProperty property(String key, String value, DataTypeCode type)
+    private IEntityProperty property(String key, String value, boolean internalNamespace, DataTypeCode type)
     {
         EntityProperty property = new EntityProperty();
         PropertyType propertyType = new PropertyType();
-        propertyType.setCode(key.toUpperCase());
+        String normalizedKey = key.toUpperCase();
+        propertyType.setSimpleCode(normalizedKey);
+        propertyType.setInternalNamespace(internalNamespace);
+        propertyType.setCode((internalNamespace ? "$" : "") + normalizedKey);
         propertyType.setLabel(key);
         propertyType.setDataType(new DataType(type));
         property.setPropertyType(propertyType);
-- 
GitLab