From d493159f9be93c0411ae49f957d13cb9a91d65ef Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Thu, 13 Jan 2011 12:37:59 +0000
Subject: [PATCH] [LMS-1949] introduced ManagedPropertySection; added a section
 for each managed property in detail views; minor: refactoring - name changes

SVN: 19409
---
 .../bsse/cisd/dsu/dss/FlowLaneFeederTest.java | 16 ++--
 .../application/ManagedPropertySection.java   | 89 +++++++++++++++++++
 .../client/application/ui/AbstractViewer.java | 38 ++++++++
 .../ui/attachment/AttachmentBrowser.java      |  2 +-
 .../server/util/XMLPropertyTransformer.java   |  8 +-
 .../bo/EntityPropertiesConverter.java         |  2 +-
 .../bo/common/EntityPropertiesEnricher.java   | 12 +--
 ...EntityInformationHolderWithProperties.java | 30 +++++++
 .../shared/basic/dto/EntityProperty.java      |  2 +-
 .../generic/shared/basic/dto/Experiment.java  |  6 +-
 .../shared/basic/dto/ExternalData.java        |  6 +-
 ...operty.java => GenericEntityProperty.java} |  2 +-
 .../basic/dto/IManagedEntityProperty.java     | 32 +++++++
 ...operty.java => ManagedEntityProperty.java} | 33 ++++++-
 .../generic/shared/basic/dto/Material.java    |  4 +-
 ...perty.java => MaterialEntityProperty.java} |  2 +-
 .../generic/shared/basic/dto/Sample.java      |  6 +-
 ...java => VocabularyTermEntityProperty.java} |  2 +-
 .../translator/PropertyTranslatorUtils.java   | 18 ++--
 .../dataset/DataSetPropertiesPanel.java       | 16 ++--
 .../dataset/GenericDataSetViewer.java         |  7 +-
 .../experiment/EntityPropertyGrid.java        | 16 ++--
 .../experiment/ExperimentPropertiesPanel.java | 16 ++--
 .../experiment/GenericExperimentViewer.java   |  5 +-
 .../material/GenericMaterialViewer.java       | 20 ++---
 .../sample/GenericSampleViewer.java           | 20 +++--
 .../web/server/CommonClientServiceTest.java   |  4 +-
 .../util/XMLPropertyTransformerTest.java      |  6 +-
 .../bo/EntityPropertiesConverterTest.java     |  2 +-
 .../web/server/GenericClientServiceTest.java  |  4 +-
 .../web/server/RawDataSampleProviderTest.java |  4 +-
 .../biozentrum/BZDataSetInfoExtractor.java    |  8 +-
 .../genedata/FeatureStorageProcessorTest.java |  4 +-
 33 files changed, 328 insertions(+), 114 deletions(-)
 create mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ManagedPropertySection.java
 create mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/IEntityInformationHolderWithProperties.java
 rename openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/{GenericValueEntityProperty.java => GenericEntityProperty.java} (95%)
 create mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IManagedEntityProperty.java
 rename openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/{ManagedValueEntityProperty.java => ManagedEntityProperty.java} (79%)
 rename openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/{MaterialValueEntityProperty.java => MaterialEntityProperty.java} (95%)
 rename openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/{VocabularyTermValueEntityProperty.java => VocabularyTermEntityProperty.java} (95%)

diff --git a/deep_sequencing_unit/sourceTest/java/ch/ethz/bsse/cisd/dsu/dss/FlowLaneFeederTest.java b/deep_sequencing_unit/sourceTest/java/ch/ethz/bsse/cisd/dsu/dss/FlowLaneFeederTest.java
index 5fdfdc9a2e1..c949a1822ec 100644
--- a/deep_sequencing_unit/sourceTest/java/ch/ethz/bsse/cisd/dsu/dss/FlowLaneFeederTest.java
+++ b/deep_sequencing_unit/sourceTest/java/ch/ethz/bsse/cisd/dsu/dss/FlowLaneFeederTest.java
@@ -43,7 +43,7 @@ import ch.systemsx.cisd.common.logging.LogInitializer;
 import ch.systemsx.cisd.common.test.AssertionUtil;
 import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person;
@@ -300,10 +300,10 @@ public class FlowLaneFeederTest extends AbstractFileSystemTestCase
         SampleTypePropertyType p1 = createPropertyType("P1");
         SampleTypePropertyType p2 = createPropertyType("P2");
         SampleTypePropertyType p3 = createPropertyType("DATA_TRANSFERRED");
-        IEntityProperty fl1p1v = new GenericValueEntityProperty();
+        IEntityProperty fl1p1v = new GenericEntityProperty();
         fl1p1v.setPropertyType(p1.getPropertyType());
         fl1p1v.setValue("v1");
-        IEntityProperty fl2p2v = new GenericValueEntityProperty();
+        IEntityProperty fl2p2v = new GenericEntityProperty();
         fl2p2v.setPropertyType(p2.getPropertyType());
         fl2p2v.setValue("v2");
 
@@ -620,20 +620,20 @@ public class FlowLaneFeederTest extends AbstractFileSystemTestCase
                         one(service).getPropertiesOfTopSampleRegisteredFor(identifier);
                         if (sample.getSubCode().equals("2"))
                         {
-                            GenericValueEntityProperty p1 =
+                            GenericEntityProperty p1 =
                                     createProperty(FlowLaneFeeder.AFFILIATION_KEY, AFFILIATION);
-                            GenericValueEntityProperty p2 =
+                            GenericEntityProperty p2 =
                                     createProperty(FlowLaneFeeder.EXTERNAL_SAMPLE_NAME_KEY,
                                             EXTERNAL_SAMPLE_NAME);
-                            will(returnValue(new GenericValueEntityProperty[]
+                            will(returnValue(new GenericEntityProperty[]
                                 { p1, p2 }));
                         }
                     }
                 }
 
-                private GenericValueEntityProperty createProperty(String key, String value)
+                private GenericEntityProperty createProperty(String key, String value)
                 {
-                    GenericValueEntityProperty p = new GenericValueEntityProperty();
+                    GenericEntityProperty p = new GenericEntityProperty();
                     p.setValue(FlowLaneFeeder.escapeSampleCode(value));
                     PropertyType propertyType = new PropertyType();
                     propertyType.setCode(FlowLaneFeeder.escapeSampleCode(key));
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ManagedPropertySection.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ManagedPropertySection.java
new file mode 100644
index 00000000000..c8cc1d6e6a1
--- /dev/null
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ManagedPropertySection.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2008 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.generic.client.web.client.application;
+
+import java.util.Set;
+
+import com.extjs.gxt.ui.client.util.Format;
+import com.extjs.gxt.ui.client.widget.Component;
+import com.extjs.gxt.ui.client.widget.ContentPanel;
+import com.extjs.gxt.ui.client.widget.Info;
+
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.IDisplayTypeIDGenerator;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedUiDescription;
+
+/**
+ * {@link TabContent} handled by managed property script.
+ * 
+ * @author Piotr Buczek
+ */
+public class ManagedPropertySection extends DisposableTabContent
+{
+    private final ManagedUiDescription uiDescription;
+
+    public ManagedPropertySection(final String header, IViewContext<?> viewContext,
+            IIdHolder ownerId, ManagedUiDescription uiDescription)
+    {
+        super(header, viewContext, ownerId);
+        this.uiDescription = uiDescription;
+        setIds(new IDisplayTypeIDGenerator()
+            {
+
+                public String createID(String suffix)
+                {
+                    return createID() + suffix;
+                }
+
+                public String createID()
+                {
+                    return "managed_property_section_" + Format.hyphenize(header);
+                }
+            });
+    }
+
+    @Override
+    protected IDisposableComponent createDisposableContent()
+    {
+        Info.display(getHeading() + " show content", uiDescription.toString());
+        // TODO use uiDescription to create tab
+        return new IDisposableComponent()
+            {
+
+                public void update(Set<DatabaseModificationKind> observedModifications)
+                {
+                }
+
+                public DatabaseModificationKind[] getRelevantModifications()
+                {
+                    return DatabaseModificationKind.EMPTY_ARRAY;
+                }
+
+                public Component getComponent()
+                {
+                    return new ContentPanel();
+                }
+
+                public void dispose()
+                {
+                }
+
+            };
+    }
+}
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java
index d31a82e44cd..eb82ae8d07f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java
@@ -35,15 +35,23 @@ import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ManagedPropertySection;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.TabContent;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AppEvents;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IModule;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IModuleInitializationObserver;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.listener.OpenEntityEditorTabClickListener;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.SectionsPanel;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider;
 import ch.systemsx.cisd.openbis.generic.shared.basic.ICodeHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithProperties;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedUiDescription;
 
 /**
  * @author Franz-Josef Elmer
@@ -232,4 +240,34 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
         moduleSectionManager.initialize(modules);
     }
 
+    protected void attachManagedPropertiesSections(final SectionsPanel container,
+            final IEntityInformationHolderWithProperties entity)
+    {
+        boolean sectionsAdded = false;
+        for (final IEntityProperty property : entity.getProperties())
+        {
+            if (property instanceof ManagedEntityProperty)
+            {
+                ManagedEntityProperty managedProperty = (ManagedEntityProperty) property;
+                if (managedProperty.isOwnTab())
+                {
+                    TabContent managedSection =
+                            createManagedPropertySection(property.getPropertyType().getLabel(),
+                                    entity, managedProperty.getUiDescription());
+                    container.addSection(managedSection);
+                    sectionsAdded = true;
+                }
+            }
+        }
+        if (sectionsAdded == true)
+        {
+            container.layout();
+        }
+    }
+
+    protected TabContent createManagedPropertySection(final String header, final IIdHolder ownerId,
+            final ManagedUiDescription uiDescription)
+    {
+        return new ManagedPropertySection(header, viewContext, ownerId, uiDescription);
+    }
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/attachment/AttachmentBrowser.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/attachment/AttachmentBrowser.java
index 86570359d27..71a597860e4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/attachment/AttachmentBrowser.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/attachment/AttachmentBrowser.java
@@ -432,7 +432,7 @@ public class AttachmentBrowser extends AbstractSimpleBrowserGrid<AttachmentVersi
             GridRowModel<AttachmentVersions> entity)
     {
         BaseEntityModel<AttachmentVersions> model = super.createModel(entity);
-        // TODO 2010-01-11, Piotr Buczek: get rid of this - extend createColumnDefinitions()
+        // TODO 2011-01-11, Piotr Buczek: get rid of this - extend createColumnDefinitions()
         model.renderAsLinkWithAnchor(AttachmentColDefKind.FILE_NAME.id());
         renderVersionAsLink(model);
         return model;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/util/XMLPropertyTransformer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/util/XMLPropertyTransformer.java
index 2fcd8ff019b..34277e262a6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/util/XMLPropertyTransformer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/util/XMLPropertyTransformer.java
@@ -21,7 +21,7 @@ import java.util.List;
 import org.apache.commons.lang.StringEscapeUtils;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityPropertiesHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
@@ -42,10 +42,10 @@ public class XMLPropertyTransformer
                 List<IEntityProperty> properties = propertiesHolder.getProperties();
                 for (IEntityProperty property : properties)
                 {
-                    if (property instanceof GenericValueEntityProperty)
+                    if (property instanceof GenericEntityProperty)
                     {
-                        GenericValueEntityProperty entityProperty =
-                                (GenericValueEntityProperty) property;
+                        GenericEntityProperty entityProperty =
+                                (GenericEntityProperty) property;
                         PropertyType propertyType = entityProperty.getPropertyType();
                         if (propertyType.getDataType().getCode().equals(DataTypeCode.XML))
                         {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityPropertiesConverter.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityPropertiesConverter.java
index 1c2297ccec7..38ad2390b88 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityPropertiesConverter.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityPropertiesConverter.java
@@ -434,7 +434,7 @@ public final class EntityPropertiesConverter implements IEntityPropertiesConvert
         return convertProperties(propsArray, entityTypeCode, registrator, false);
     }
 
-    // TODO 2010-01-12, Piotr Buczek: refactor - propertiesToUpdate are not used at all
+    // TODO 2011-01-12, Piotr Buczek: refactor - propertiesToUpdate are not used at all
     public <T extends EntityPropertyPE> Set<T> updateProperties(Collection<T> oldProperties,
             EntityTypePE entityType, List<IEntityProperty> newProperties, PersonPE registrator,
             Set<String> propertiesToUpdate)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/common/EntityPropertiesEnricher.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/common/EntityPropertiesEnricher.java
index 37ee8e496df..88b88f8756d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/common/EntityPropertiesEnricher.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/common/EntityPropertiesEnricher.java
@@ -21,15 +21,15 @@ import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
 import it.unimi.dsi.fastutil.longs.LongSet;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.BasicConstant;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityPropertiesHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTerm;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermEntityProperty;
 
 /**
  * A class that can enrich a set of entities with its entity properties.
@@ -61,7 +61,7 @@ public final class EntityPropertiesEnricher implements IEntityPropertiesEnricher
                 .getEntityPropertyGenericValues(entityIDs))
         {
             final IEntityPropertiesHolder entity = entities.get(val.entity_id);
-            final IEntityProperty property = new GenericValueEntityProperty();
+            final IEntityProperty property = new GenericEntityProperty();
             property.setValue(val.value);
             property.setPropertyType(propertyTypes.get(val.prty_id));
             entity.getProperties().add(property);
@@ -77,7 +77,7 @@ public final class EntityPropertiesEnricher implements IEntityPropertiesEnricher
                 vocabularyURLMap = getVocabularyURLs();
             }
             final IEntityPropertiesHolder entity = entities.get(val.entity_id);
-            final IEntityProperty property = new VocabularyTermValueEntityProperty();
+            final IEntityProperty property = new VocabularyTermEntityProperty();
             VocabularyTerm vocabularyTerm = terms.get(val.id);
             if (vocabularyTerm == null)
             {
@@ -107,7 +107,7 @@ public final class EntityPropertiesEnricher implements IEntityPropertiesEnricher
                 materialTypes = getMaterialTypes();
             }
             final IEntityPropertiesHolder entity = entities.get(val.entity_id);
-            final IEntityProperty property = new MaterialValueEntityProperty();
+            final IEntityProperty property = new MaterialEntityProperty();
             Material material = materials.get(val.id);
             if (material == null)
             {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/IEntityInformationHolderWithProperties.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/IEntityInformationHolderWithProperties.java
new file mode 100644
index 00000000000..2b4ed00a3bf
--- /dev/null
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/IEntityInformationHolderWithProperties.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2008 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.generic.shared.basic;
+
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityPropertiesHolder;
+
+/**
+ * Contains the information stored in both {@link IEntityInformationHolderWithIdentifier} and
+ * {@link IEntityPropertiesHolder}.
+ * 
+ * @author Piotr Buczek
+ */
+public interface IEntityInformationHolderWithProperties extends
+        IEntityInformationHolderWithIdentifier, IEntityPropertiesHolder
+{
+}
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityProperty.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityProperty.java
index 232b5e9613f..0cf3bb066fd 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityProperty.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityProperty.java
@@ -21,7 +21,7 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
  * 
  * @author Christian Ribeaud
  */
-public class EntityProperty extends GenericValueEntityProperty
+public class EntityProperty extends GenericEntityProperty
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Experiment.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Experiment.java
index 08d0c6f57a6..6a007476a44 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Experiment.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Experiment.java
@@ -20,8 +20,7 @@ import java.util.Date;
 import java.util.List;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.IAttachmentHolder;
-import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithPermId;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithProperties;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdAndCodeHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IInvalidationProvider;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder;
@@ -32,8 +31,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder;
  * @author Tomasz Pylak
  */
 public class Experiment extends CodeWithRegistration<Experiment> implements IInvalidationProvider,
-        IEntityInformationHolderWithIdentifier, IEntityInformationHolderWithPermId,
-        IAttachmentHolder, IEntityPropertiesHolder, IIdAndCodeHolder, IPermIdHolder
+        IEntityInformationHolderWithProperties, IAttachmentHolder, IIdAndCodeHolder, IPermIdHolder
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java
index 19bb5f53d8e..12846ae892f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java
@@ -20,8 +20,7 @@ import java.util.Collection;
 import java.util.Date;
 import java.util.List;
 
-import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithPermId;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithProperties;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdAndCodeHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IInvalidationProvider;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder;
@@ -32,8 +31,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder;
  * @author Christian Ribeaud
  */
 public class ExternalData extends CodeWithRegistration<ExternalData> implements
-        IInvalidationProvider, IEntityInformationHolderWithIdentifier,
-        IEntityInformationHolderWithPermId, IEntityPropertiesHolder, IIdAndCodeHolder,
+        IInvalidationProvider, IEntityInformationHolderWithProperties, IIdAndCodeHolder,
         IPermIdHolder
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/GenericValueEntityProperty.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/GenericEntityProperty.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/GenericValueEntityProperty.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/GenericEntityProperty.java
index 66c6d44a5ed..1eec8e21294 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/GenericValueEntityProperty.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/GenericEntityProperty.java
@@ -22,7 +22,7 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
  * 
  * @author Bernd Rinn
  */
-public class GenericValueEntityProperty extends AbstractEntityProperty
+public class GenericEntityProperty extends AbstractEntityProperty
 {
 
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IManagedEntityProperty.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IManagedEntityProperty.java
new file mode 100644
index 00000000000..82b16d187be
--- /dev/null
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IManagedEntityProperty.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2011 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
+
+/**
+ * Interface implemented by managed property.
+ * 
+ * @author Piotr Buczek
+ */
+public interface IManagedEntityProperty
+{
+    // private String tabName; // tab name could be just property code
+
+    boolean isOwnTab();
+
+    ManagedUiDescription getUiDescription();
+
+}
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ManagedValueEntityProperty.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ManagedEntityProperty.java
similarity index 79%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ManagedValueEntityProperty.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ManagedEntityProperty.java
index 6395c7bcfa2..0d5795996bf 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ManagedValueEntityProperty.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ManagedEntityProperty.java
@@ -21,18 +21,43 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
  * 
  * @author Piotr Buczek
  */
-public class ManagedValueEntityProperty implements IEntityProperty
+public class ManagedEntityProperty implements IEntityProperty, IManagedEntityProperty
 {
 
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
     private IEntityProperty delegatedProperty;
 
-    public ManagedValueEntityProperty(IEntityProperty delegatedProperty)
+    // NOTE: defaults are set for testing - scripts should override them
+
+    private boolean ownTab = true;
+
+    private ManagedUiDescription uiDescription = new ManagedUiDescription();
+
+    public ManagedEntityProperty(IEntityProperty delegatedProperty)
     {
         this.delegatedProperty = delegatedProperty;
     }
 
+    //
+    // IManagedEntityProperty
+    //
+
+    public boolean isOwnTab()
+    {
+        return ownTab;
+    }
+
+    public void setOwnTab(boolean ownTab)
+    {
+        this.ownTab = ownTab;
+    }
+
+    public ManagedUiDescription getUiDescription()
+    {
+        return uiDescription;
+    }
+
     //
     // IEntityProperty delegated methods
     //
@@ -69,7 +94,7 @@ public class ManagedValueEntityProperty implements IEntityProperty
 
     public String getValue()
     {
-        // TODO 2010-01-12, Piotr Buczek: remove special handling after testing
+        // TODO 2011-01-12, Piotr Buczek: remove special handling after testing
         String delegatedValue = delegatedProperty.getValue();
         return delegatedValue == null ? null : "(managed) " + delegatedValue;
     }
@@ -108,7 +133,7 @@ public class ManagedValueEntityProperty implements IEntityProperty
     // For serialization
     //
 
-    public ManagedValueEntityProperty()
+    public ManagedEntityProperty()
     {
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Material.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Material.java
index 41bbff65fa6..86eeee92e1e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Material.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Material.java
@@ -19,7 +19,7 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 import java.util.Date;
 import java.util.List;
 
-import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithProperties;
 
 /**
  * The <i>GWT</i> equivalent to MaterialPE.
@@ -27,7 +27,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWit
  * @author Izabela Adamczyk
  */
 public class Material extends CodeWithRegistration<Material> implements
-        IEntityInformationHolderWithIdentifier, IEntityPropertiesHolder
+        IEntityInformationHolderWithProperties
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialValueEntityProperty.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialEntityProperty.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialValueEntityProperty.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialEntityProperty.java
index 0bbce1bdcb1..cf37bd85cc4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialValueEntityProperty.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialEntityProperty.java
@@ -22,7 +22,7 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
  * 
  * @author Bernd Rinn
  */
-public class MaterialValueEntityProperty extends AbstractEntityProperty
+public class MaterialEntityProperty extends AbstractEntityProperty
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Sample.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Sample.java
index 96d96093a7b..19ea726c6b0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Sample.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Sample.java
@@ -24,8 +24,7 @@ import java.util.TreeSet;
 
 import ch.systemsx.cisd.common.annotation.CollectionMapping;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IAttachmentHolder;
-import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithPermId;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithProperties;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdAndCodeHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IInvalidationProvider;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder;
@@ -36,8 +35,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder;
  * @author Izabela Adamczyk
  */
 public final class Sample extends CodeWithRegistration<Sample> implements IInvalidationProvider,
-        Comparable<Sample>, IEntityInformationHolderWithIdentifier,
-        IEntityInformationHolderWithPermId, IAttachmentHolder, IEntityPropertiesHolder,
+        Comparable<Sample>, IEntityInformationHolderWithProperties, IAttachmentHolder,
         IIdAndCodeHolder, IPermIdHolder
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermValueEntityProperty.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermEntityProperty.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermValueEntityProperty.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermEntityProperty.java
index 61cb542309c..b691553545a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermValueEntityProperty.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermEntityProperty.java
@@ -22,7 +22,7 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
  * 
  * @author Bernd Rinn
  */
-public class VocabularyTermValueEntityProperty extends AbstractEntityProperty
+public class VocabularyTermEntityProperty extends AbstractEntityProperty
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/PropertyTranslatorUtils.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/PropertyTranslatorUtils.java
index 939deb768ab..31c5b5757a2 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/PropertyTranslatorUtils.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/PropertyTranslatorUtils.java
@@ -17,12 +17,12 @@
 package ch.systemsx.cisd.openbis.generic.shared.translator;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedValueEntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ScriptType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.dto.EntityPropertyPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePropertyTypePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ScriptPE;
@@ -78,8 +78,8 @@ final class PropertyTranslatorUtils
     {
         final ScriptPE script = property.getEntityTypePropertyType().getScript();
         assert script != null && script.getScriptType() == ScriptType.MANAGED_PROPERTY;
-        final ManagedValueEntityProperty result = new ManagedValueEntityProperty(basicProperty);
-        // TODO 2010-01-12, Piotr Buczek: fill managed property
+        final ManagedEntityProperty result = new ManagedEntityProperty(basicProperty);
+        // TODO 2011-01-12, Piotr Buczek: fill managed property
         return result;
     }
 
@@ -91,11 +91,11 @@ final class PropertyTranslatorUtils
         switch (dataTypeCode)
         {
             case CONTROLLEDVOCABULARY:
-                return new VocabularyTermValueEntityProperty();
+                return new VocabularyTermEntityProperty();
             case MATERIAL:
-                return new MaterialValueEntityProperty();
+                return new MaterialEntityProperty();
             default:
-                return new GenericValueEntityProperty();
+                return new GenericEntityProperty();
         }
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataSetPropertiesPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataSetPropertiesPanel.java
index 259a90333c0..c1c4715b6e8 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataSetPropertiesPanel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataSetPropertiesPanel.java
@@ -38,16 +38,16 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStore;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Invalidation;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedValueEntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermEntityProperty;
 
 /**
  * {@link ContentPanel} containing dataset properties.
@@ -88,13 +88,13 @@ public class DataSetPropertiesPanel extends ContentPanel
         final IPropertyValueRenderer<IEntityProperty> propertyRenderer =
                 PropertyValueRenderers.createEntityPropertyPropertyValueRenderer(viewContext);
         propertyGrid.registerPropertyValueRenderer(EntityProperty.class, propertyRenderer);
-        propertyGrid.registerPropertyValueRenderer(GenericValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(GenericEntityProperty.class,
                 propertyRenderer);
-        propertyGrid.registerPropertyValueRenderer(VocabularyTermValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(VocabularyTermEntityProperty.class,
                 propertyRenderer);
-        propertyGrid.registerPropertyValueRenderer(MaterialValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(MaterialEntityProperty.class,
                 propertyRenderer);
-        propertyGrid.registerPropertyValueRenderer(ManagedValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(ManagedEntityProperty.class,
                 propertyRenderer);
         propertyGrid.registerPropertyValueRenderer(Sample.class,
                 PropertyValueRenderers.createSamplePropertyValueRenderer(viewContext, true));
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/GenericDataSetViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/GenericDataSetViewer.java
index 39a1230e78c..8c266e7724e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/GenericDataSetViewer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/GenericDataSetViewer.java
@@ -50,9 +50,9 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IIdAndCodeHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatastoreServiceDescription;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
 import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientServiceAsync;
 
 /**
@@ -186,8 +186,11 @@ abstract public class GenericDataSetViewer extends AbstractViewerWithVerticalSpl
         final TabContent childrenSection = new DataSetChildrenSection(viewContext, dataset);
         container.addSection(childrenSection);
 
-        // container.layout();
+        // managed properties
+        attachManagedPropertiesSections(container, dataset);
+
         moduleSectionManager.initialize(container, dataset);
+
         return container;
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/EntityPropertyGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/EntityPropertyGrid.java
index edf6a820539..c1f67dec06c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/EntityPropertyGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/EntityPropertyGrid.java
@@ -27,11 +27,11 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.propert
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityTypePropertyType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedValueEntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialValueEntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermEntityProperty;
 
 /**
  * @author Izabela Adamczyk
@@ -59,10 +59,10 @@ public class EntityPropertyGrid<T extends EntityType, S extends EntityTypeProper
         final IPropertyValueRenderer<IEntityProperty> renderer =
                 PropertyValueRenderers.createEntityPropertyPropertyValueRenderer(viewContext);
         grid.registerPropertyValueRenderer(EntityProperty.class, renderer);
-        grid.registerPropertyValueRenderer(GenericValueEntityProperty.class, renderer);
-        grid.registerPropertyValueRenderer(VocabularyTermValueEntityProperty.class, renderer);
-        grid.registerPropertyValueRenderer(MaterialValueEntityProperty.class, renderer);
-        grid.registerPropertyValueRenderer(ManagedValueEntityProperty.class, renderer);
+        grid.registerPropertyValueRenderer(GenericEntityProperty.class, renderer);
+        grid.registerPropertyValueRenderer(VocabularyTermEntityProperty.class, renderer);
+        grid.registerPropertyValueRenderer(MaterialEntityProperty.class, renderer);
+        grid.registerPropertyValueRenderer(ManagedEntityProperty.class, renderer);
     }
 
     private final Map<String, Object> createProperties(List<P> list)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentPropertiesPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentPropertiesPanel.java
index 6fd9112cd07..ef307693de1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentPropertiesPanel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentPropertiesPanel.java
@@ -44,15 +44,15 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKin
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Invalidation;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedValueEntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermEntityProperty;
 import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientServiceAsync;
 
 /**
@@ -107,11 +107,11 @@ public class ExperimentPropertiesPanel extends ContentPanel
         final IPropertyValueRenderer<IEntityProperty> renderer =
                 PropertyValueRenderers.createEntityPropertyPropertyValueRenderer(viewContext);
         propertyGrid.registerPropertyValueRenderer(EntityProperty.class, renderer);
-        propertyGrid.registerPropertyValueRenderer(GenericValueEntityProperty.class, renderer);
-        propertyGrid.registerPropertyValueRenderer(VocabularyTermValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(GenericEntityProperty.class, renderer);
+        propertyGrid.registerPropertyValueRenderer(VocabularyTermEntityProperty.class,
                 renderer);
-        propertyGrid.registerPropertyValueRenderer(MaterialValueEntityProperty.class, renderer);
-        propertyGrid.registerPropertyValueRenderer(ManagedValueEntityProperty.class, renderer);
+        propertyGrid.registerPropertyValueRenderer(MaterialEntityProperty.class, renderer);
+        propertyGrid.registerPropertyValueRenderer(ManagedEntityProperty.class, renderer);
         propertyGrid.setProperties(properties);
         return propertyGrid;
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
index 139134cc010..8e43b72b82f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
@@ -161,6 +161,7 @@ public class GenericExperimentViewer extends AbstractViewerWithVerticalSplit<Exp
                     remove(loadingLabel);
                     GenericExperimentViewer.this.rightPanelSectionsOrNull = createRightPanel();
                     SectionsPanel rightPanel = layoutSections(rightPanelSectionsOrNull);
+                    attachManagedPropertiesSections(rightPanel, experiment);
                     moduleSectionManager.initialize(rightPanel, experiment);
                     add(rightPanel, createRightBorderLayoutData());
                     layout();
@@ -271,8 +272,8 @@ public class GenericExperimentViewer extends AbstractViewerWithVerticalSplit<Exp
         {
             assert rightPanelSectionsOrNull != null : "right panel not layouted";
             CompositeDatabaseModificationObserverWithMainObserver modificationObserver =
-                    new CompositeDatabaseModificationObserverWithMainObserver(propertiesPanelOrNull
-                            .getDatabaseModificationObserver());
+                    new CompositeDatabaseModificationObserverWithMainObserver(
+                            propertiesPanelOrNull.getDatabaseModificationObserver());
             for (DisposableTabContent panel : rightPanelSectionsOrNull)
             {
                 modificationObserver.addObserver(panel.tryGetDatabaseModificationObserver());
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialViewer.java
index 6443af4f689..5aa7ab76e2b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialViewer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialViewer.java
@@ -51,16 +51,16 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Invalidation;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialValueEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermEntityProperty;
 import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientServiceAsync;
 
 /**
@@ -135,6 +135,7 @@ abstract public class GenericMaterialViewer extends AbstractViewerWithVerticalSp
             container.addSection(panel);
         }
         container.layout();
+        attachManagedPropertiesSections(container, material);
         moduleSectionManager.initialize(container, material);
         return container;
     }
@@ -190,14 +191,11 @@ abstract public class GenericMaterialViewer extends AbstractViewerWithVerticalSp
         final IPropertyValueRenderer<IEntityProperty> propertyRenderer =
                 PropertyValueRenderers.createEntityPropertyPropertyValueRenderer(viewContext);
         propertyGrid.registerPropertyValueRenderer(EntityProperty.class, propertyRenderer);
-        propertyGrid.registerPropertyValueRenderer(GenericValueEntityProperty.class,
-                propertyRenderer);
-        propertyGrid.registerPropertyValueRenderer(VocabularyTermValueEntityProperty.class,
-                propertyRenderer);
-        propertyGrid.registerPropertyValueRenderer(MaterialValueEntityProperty.class,
-                propertyRenderer);
-        propertyGrid.registerPropertyValueRenderer(ManagedValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(GenericEntityProperty.class, propertyRenderer);
+        propertyGrid.registerPropertyValueRenderer(VocabularyTermEntityProperty.class,
                 propertyRenderer);
+        propertyGrid.registerPropertyValueRenderer(MaterialEntityProperty.class, propertyRenderer);
+        propertyGrid.registerPropertyValueRenderer(ManagedEntityProperty.class, propertyRenderer);
         propertyGrid.setProperties(properties);
         propertyGrid.getElement().setId(PROPERTIES_ID_PREFIX + material.getIdentifier());
         return propertyGrid;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleViewer.java
index 64e3ca0df27..3cea83222fe 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleViewer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleViewer.java
@@ -63,18 +63,18 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKin
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Invalidation;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedValueEntityProperty;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ManagedEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleParentWithDerived;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermEntityProperty;
 import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientServiceAsync;
 
 /**
@@ -211,6 +211,10 @@ abstract public class GenericSampleViewer extends AbstractViewerWithVerticalSpli
         container.addSection(attachmentsSection);
 
         container.layout();
+
+        // managed properties
+        attachManagedPropertiesSections(container, generator);
+
         moduleSectionManager.initialize(container, generator);
         return container;
     }
@@ -330,13 +334,13 @@ abstract public class GenericSampleViewer extends AbstractViewerWithVerticalSpli
         final IPropertyValueRenderer<IEntityProperty> propertyValueRenderer =
                 PropertyValueRenderers.createEntityPropertyPropertyValueRenderer(viewContext);
         propertyGrid.registerPropertyValueRenderer(EntityProperty.class, propertyValueRenderer);
-        propertyGrid.registerPropertyValueRenderer(GenericValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(GenericEntityProperty.class,
                 propertyValueRenderer);
-        propertyGrid.registerPropertyValueRenderer(VocabularyTermValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(VocabularyTermEntityProperty.class,
                 propertyValueRenderer);
-        propertyGrid.registerPropertyValueRenderer(MaterialValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(MaterialEntityProperty.class,
                 propertyValueRenderer);
-        propertyGrid.registerPropertyValueRenderer(ManagedValueEntityProperty.class,
+        propertyGrid.registerPropertyValueRenderer(ManagedEntityProperty.class,
                 propertyValueRenderer);
         propertyGrid.registerPropertyValueRenderer(Experiment.class,
                 PropertyValueRenderers.createExperimentPropertyValueRenderer(viewContext));
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
index 0bc9b189589..6307181b984 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
@@ -56,7 +56,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomColumn;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable;
@@ -213,7 +213,7 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
 
     private IEntityProperty createXmlProperty()
     {
-        GenericValueEntityProperty property = new GenericValueEntityProperty();
+        GenericEntityProperty property = new GenericEntityProperty();
         PropertyType propertyType = new PropertyType();
         propertyType.setDataType(new DataType(DataTypeCode.XML));
         propertyType
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/util/XMLPropertyTransformerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/util/XMLPropertyTransformerTest.java
index f3cadce513e..256df40f251 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/util/XMLPropertyTransformerTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/util/XMLPropertyTransformerTest.java
@@ -23,7 +23,7 @@ import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
@@ -61,10 +61,10 @@ public class XMLPropertyTransformerTest extends AssertJUnit
         assertEquals("hello", transformed3.tryGetOriginalValue());
     }
 
-    private GenericValueEntityProperty createProperty(DataTypeCode dataSetTypeCode, String value,
+    private GenericEntityProperty createProperty(DataTypeCode dataSetTypeCode, String value,
             String xsltOrNull)
     {
-        GenericValueEntityProperty property = new GenericValueEntityProperty();
+        GenericEntityProperty property = new GenericEntityProperty();
         PropertyType propertyType = new PropertyType();
         propertyType.setDataType(new DataType(dataSetTypeCode));
         propertyType.setTransformation(xsltOrNull);
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityPropertiesConverterTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityPropertiesConverterTest.java
index f392f860e89..600fa3a37f4 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityPropertiesConverterTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityPropertiesConverterTest.java
@@ -51,7 +51,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind;
  * 
  * @author Christian Ribeaud
  */
-// TODO 2010-01-11, Piotr Buczek: test dynamic and managed properties handling
+// TODO 2011-01-11, Piotr Buczek: test dynamic and managed properties handling
 @Friend(toClasses = EntityPropertiesConverter.class)
 public final class EntityPropertiesConverterTest extends AbstractBOTest
 {
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java
index 768ef64e93d..bd40ba91d54 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java
@@ -47,7 +47,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType;
@@ -940,7 +940,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest
 
     private IEntityProperty createXmlProperty()
     {
-        GenericValueEntityProperty property = new GenericValueEntityProperty();
+        GenericEntityProperty property = new GenericEntityProperty();
         PropertyType propertyType = new PropertyType();
         propertyType.setDataType(new DataType(DataTypeCode.XML));
         propertyType
diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/RawDataSampleProviderTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/RawDataSampleProviderTest.java
index 43b35358895..a01f76e600b 100644
--- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/RawDataSampleProviderTest.java
+++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/RawDataSampleProviderTest.java
@@ -35,7 +35,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
@@ -199,7 +199,7 @@ public class RawDataSampleProviderTest extends AbstractServerTestCase
         ArrayList<IEntityProperty> properties = new ArrayList<IEntityProperty>();
         for (String label : labels)
         {
-            GenericValueEntityProperty property = new GenericValueEntityProperty();
+            GenericEntityProperty property = new GenericEntityProperty();
             PropertyType propertyType = new PropertyType();
             propertyType.setLabel(label);
             propertyType.setCode(propertyType.getLabel().toUpperCase());
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/biozentrum/BZDataSetInfoExtractor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/biozentrum/BZDataSetInfoExtractor.java
index 88cb9a42464..ad97987060e 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/biozentrum/BZDataSetInfoExtractor.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/biozentrum/BZDataSetInfoExtractor.java
@@ -37,7 +37,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
@@ -45,7 +45,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTerm;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.GroupIdentifier;
@@ -186,7 +186,7 @@ public class BZDataSetInfoExtractor implements IDataSetInfoExtractor
             String termCode)
     {
         List<IEntityProperty> sampleProperties = new ArrayList<IEntityProperty>();
-        VocabularyTermValueEntityProperty property = new VocabularyTermValueEntityProperty();
+        VocabularyTermEntityProperty property = new VocabularyTermEntityProperty();
         VocabularyTerm vocabularyTerm = new VocabularyTerm();
         vocabularyTerm.setCode(termCode);
         property.setVocabularyTerm(vocabularyTerm);
@@ -204,7 +204,7 @@ public class BZDataSetInfoExtractor implements IDataSetInfoExtractor
             String description)
     {
         List<IEntityProperty> properties = new ArrayList<IEntityProperty>();
-        GenericValueEntityProperty property = new GenericValueEntityProperty();
+        GenericEntityProperty property = new GenericEntityProperty();
         property.setValue(description);
         PropertyType propertyType = new PropertyType();
         DataType dataType = new DataType();
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
index 1fac61957c2..46d7da42439 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
@@ -37,7 +37,7 @@ import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingQueryDAO;
 import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
@@ -213,7 +213,7 @@ public class FeatureStorageProcessorTest extends AbstractFileSystemTestCase
 
         // Set the properties
         IEntityProperty properties[] = new IEntityProperty[1];
-        GenericValueEntityProperty entityProperty = new GenericValueEntityProperty();
+        GenericEntityProperty entityProperty = new GenericEntityProperty();
         PropertyType propertyType = new PropertyType();
         propertyType.setCode(PlateDimensionParser.PLATE_GEOMETRY_PROPERTY_NAME);
         entityProperty.setPropertyType(propertyType);
-- 
GitLab