From 921f978b4795dfd7fd6856f11cd1933b65129f95 Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Mon, 5 Nov 2012 08:37:07 +0000 Subject: [PATCH] SP-362 / BIS-246: Show metaproject tags in Web GUI and allow editing them when editing an entity - show metaprojects in entity properties panel SVN: 27483 --- .../application/PropertiesPanelUtils.java | 22 +++++++++++++++++++ .../dataset/DataSetPropertiesPanel.java | 3 +++ .../experiment/ExperimentPropertiesPanel.java | 1 + .../material/GenericMaterialViewer.java | 1 + .../sample/GenericSampleViewer.java | 2 ++ 5 files changed, 29 insertions(+) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/PropertiesPanelUtils.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/PropertiesPanelUtils.java index e2904c3a850..03bac5fb9e7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/PropertiesPanelUtils.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/PropertiesPanelUtils.java @@ -16,14 +16,18 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; +import ch.systemsx.cisd.common.shared.basic.string.StringUtils; +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.renderer.PropertyTypeRenderer; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.EntityPropertyUtils; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Metaproject; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType; /** @@ -49,4 +53,22 @@ public class PropertiesPanelUtils } } } + + public static void addMetaprojects(final IViewContext<?> viewContext, + final Map<String, Object> properties, final Collection<Metaproject> metaprojects) + { + if (metaprojects != null && metaprojects.size() > 0) + { + String[] names = new String[metaprojects.size()]; + int index = 0; + + for (Metaproject metaproject : metaprojects) + { + names[index++] = metaproject.getName(); + } + properties + .put(viewContext.getMessage(Dict.METAPROJECTS), StringUtils.join(names, ", ")); + } + + } } 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 8942d729b5f..74dad561e33 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 @@ -147,7 +147,10 @@ public class DataSetPropertiesPanel extends ContentPanel { properties.put(messageProvider.getMessage(Dict.DELETION), deletion); } + + PropertiesPanelUtils.addMetaprojects(viewContext, properties, dataset.getMetaprojects()); PropertiesPanelUtils.addEntityProperties(viewContext, properties, dataset.getProperties()); + return properties; } } 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 699739a40fb..feb6922b143 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 @@ -122,6 +122,7 @@ public class ExperimentPropertiesPanel extends ContentPanel } properties.put(viewContext.getMessage(Dict.PROJECT), experiment.getProject()); + PropertiesPanelUtils.addMetaprojects(viewContext, properties, experiment.getMetaprojects()); PropertiesPanelUtils.addEntityProperties(viewContext, properties, experiment.getProperties()); 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 1ae06c3b8e8..a9a228e49e9 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 @@ -194,6 +194,7 @@ abstract public class GenericMaterialViewer extends AbstractViewerWithVerticalSp properties.put(viewContext.getMessage(Dict.REGISTRATION_DATE), material.getRegistrationDate()); + PropertiesPanelUtils.addMetaprojects(viewContext, properties, material.getMetaprojects()); PropertiesPanelUtils.addEntityProperties(viewContext, properties, material.getProperties()); return properties; 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 978b1fc4685..eda845cfa10 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 @@ -312,6 +312,8 @@ abstract public class GenericSampleViewer extends AbstractViewerWithVerticalSpli { properties.put(viewContext.getMessage(Dict.PART_OF), partOf); } + + PropertiesPanelUtils.addMetaprojects(viewContext, properties, sample.getMetaprojects()); PropertiesPanelUtils.addEntityProperties(viewContext, properties, sample.getProperties()); return properties; -- GitLab