From fc913ff29f7b63dd290dcf73d6cabb7b769ef36d Mon Sep 17 00:00:00 2001 From: izabel <izabel> Date: Tue, 21 Sep 2010 08:30:06 +0000 Subject: [PATCH] [LMS-1757] screening dictionary SVN: 17926 --- .../client/web/client/application/Dict.java | 6 ++++ .../client/application/ui/AbstractViewer.java | 2 +- .../util/CompositeMessageProvider.java | 33 +++++++++++++++++-- .../client/web/public/generic-dictionary.js | 5 ++- .../application/GenericViewContext.java | 2 +- .../experiment/ExperimentSamplesSection.java | 3 +- .../sample/GenericSampleViewer.java | 3 +- .../cisd/openbis/public/common-dictionary.js | 2 +- .../application/ClientPluginFactory.java | 2 +- .../client/web/client/application/Dict.java | 5 ++- .../ExperimentPlateLocationsSection.java | 2 -- .../detailviewers/PlateSampleViewer.java | 7 ++++ .../client/web/public/screening-dictionary.js | 25 +++++++++++--- 13 files changed, 79 insertions(+), 18 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java index 8f2547be670..c6ca52cfada 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java @@ -179,6 +179,9 @@ public abstract class Dict public static final String IDENTIFIER = "identifier"; + public static final String SAMPLE_PROPERTIES_PANEL_SAMPLE_IDENTIFIER = + "sample_properties_panel_sample_identifier"; + public static final String NO_MATCH = "no_match"; public static final String ENTITY_TYPE = "entity_type"; @@ -853,6 +856,9 @@ public abstract class Dict public static final String ADD_ATTACHMENT = "add_attachment"; + public static final String EXPERIMENT_SAMPLES_SELCTION_TITLE = + "experiment_samples_selction_title"; + public static final String DATA_SET_UPLOAD = "data_set_upload"; public static final String BUTTON_UPLOAD_DATA_VIA_CIFEX = "button_upload_data_via_cifex"; 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 be0e8132a73..de9dfa3fda6 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 @@ -65,7 +65,7 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends private LabelToolItem titleLabel; - private D originalData; + protected D originalData; protected final ModulesSectionsManager moduleSectionManager = new ModulesSectionsManager(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/CompositeMessageProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/CompositeMessageProvider.java index f7d1ca058d6..cebd970e637 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/CompositeMessageProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/util/CompositeMessageProvider.java @@ -19,7 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.util; import java.util.ArrayList; import java.util.List; - /** * A {@link IMessageProvider} implementation based on <i>Composite</i> pattern. * @@ -27,7 +26,12 @@ import java.util.List; */ public final class CompositeMessageProvider implements IMessageProvider { + private static final String TRUE = "true"; + + private static final String IS_DEFAULT_DICTIONARY = "is_default_dictionary"; + private final List<IMessageProvider> messageProviders = new ArrayList<IMessageProvider>(); + private String name; public void add(IMessageProvider messageProvider) @@ -56,7 +60,7 @@ public final class CompositeMessageProvider implements IMessageProvider } return name; } - + public final boolean containsKey(final String key) { for (final IMessageProvider messageProvider : messageProviders) @@ -71,6 +75,11 @@ public final class CompositeMessageProvider implements IMessageProvider public final String getMessage(final String key, final Object... parameters) { + IMessageProvider defaultMessageProvider = tryGetDefaultDictionary(key); + if (defaultMessageProvider != null && defaultMessageProvider.containsKey(key)) + { + return defaultMessageProvider.getMessage(key, parameters); + } for (final IMessageProvider messageProvider : messageProviders) { if (messageProvider.containsKey(key)) @@ -81,4 +90,24 @@ public final class CompositeMessageProvider implements IMessageProvider return "Unknown key '" + key + "' in dictonaries " + getName() + "."; } + /** + * Returns a {@link IMessageProvider} containing key {@link #IS_DEFAULT_DICTIONARY} with value = + * {@link #TRUE} or null if no such {@link IMessageProvider} defined. + */ + private IMessageProvider tryGetDefaultDictionary(final String key) + { + for (final IMessageProvider messageProvider : messageProviders) + { + if (messageProvider.containsKey(IS_DEFAULT_DICTIONARY)) + { + String isDefaultMsg = messageProvider.getMessage(IS_DEFAULT_DICTIONARY); + if (isDefaultMsg.compareToIgnoreCase(TRUE) == 0) + { + return messageProvider; + } + } + } + return null; + } + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/public/generic-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/public/generic-dictionary.js index 4be86e8f2c0..0b487ce375a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/public/generic-dictionary.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/public/generic-dictionary.js @@ -6,11 +6,14 @@ var generic = { // no_samples_found: "There are no samples in this experiment", + experiment_samples_selction_title: "Samples", + // // Sample Viewer // - + + sample_properties_panel_sample_identifier: "Sample", sample_properties_heading: "Sample Properties", part_of_heading: "Components", derived_samples_heading: "Derived Samples", diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/GenericViewContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/GenericViewContext.java index be2cdcf1a04..c577a7905bd 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/GenericViewContext.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/GenericViewContext.java @@ -21,7 +21,7 @@ public final class GenericViewContext extends AbstractPluginViewContext<IGeneric { super(commonViewContext); } - + @Override protected String getTechnology() { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentSamplesSection.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentSamplesSection.java index 921cc65aa85..4b3705d23cf 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentSamplesSection.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentSamplesSection.java @@ -16,6 +16,7 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.DisposableTabContent; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; @@ -44,7 +45,7 @@ public class ExperimentSamplesSection extends DisposableTabContent public ExperimentSamplesSection(IViewContext<?> viewContext, BasicEntityType experimentType, IIdAndCodeHolder experimentId) { - super("Samples", viewContext); + super(viewContext.getMessage(Dict.EXPERIMENT_SAMPLES_SELCTION_TITLE), viewContext); this.experimentType = experimentType; this.experimentId = new TechId(experimentId.getId()); } 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 d00e90d4259..5ef79fc8252 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 @@ -255,7 +255,8 @@ abstract public class GenericSampleViewer extends AbstractViewer<Sample> impleme final SampleType sampleType = sample.getSampleType(); final Invalidation invalidation = sample.getInvalidation(); final Sample[] generated = sampleGeneration.getDerived(); - properties.put(messageProvider.getMessage(Dict.SAMPLE), sample.getIdentifier()); + properties.put(messageProvider.getMessage(Dict.SAMPLE_PROPERTIES_PANEL_SAMPLE_IDENTIFIER), + sample.getIdentifier()); properties.put(messageProvider.getMessage(Dict.PERM_ID), new ExternalHyperlink(sample .getPermId(), sample.getPermlink())); properties.put(messageProvider.getMessage(Dict.SAMPLE_TYPE), sampleType); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js index dd98603074c..4f74edbeaaf 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js @@ -176,7 +176,7 @@ var common = { experiments_grid_header: "Experiments", experiment_type: "Experiment Type", - project_selector_title: "Project Selection", + project_selector_title: "Projects", project_selector_tooltip: "Click on a row with project code to select it.", project_selector_description_not_available: "(not available)", project_selector_code_column: "Space / Project", diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java index c18087ceed5..68aa53012bb 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java @@ -286,7 +286,7 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<Scree @Override public String getTabTitle() { - return getViewerTitle(Dict.SAMPLE, identifiable, screeningViewContext); + return getViewerTitle(Dict.PLATE, identifiable, screeningViewContext); } }; } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/Dict.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/Dict.java index 92206465e03..04dfa1ecb28 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/Dict.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/Dict.java @@ -46,6 +46,8 @@ public final class Dict extends ch.systemsx.cisd.openbis.generic.client.web.clie public static final String PLATE = "PLATE"; + public static final String PLATE_VIEWER_TITLE = "PLATE_VIEWER_TITLE"; + public static final String WELL = "WELL"; public static final String WELL_IMAGES = "WELL_IMAGES"; @@ -68,9 +70,6 @@ public final class Dict extends ch.systemsx.cisd.openbis.generic.client.web.clie public static final String PLATE_MATERIAL_REVIEWER_TITLE = "PLATE_MATERIAL_REVIEWER_TITLE"; - public static final String PLATE_MATERIAL_REVIEWER_HELP_INFO = - "PLATE_MATERIAL_REVIEWER_HELP_INFO"; - public static final String PLATE_MATERIAL_REVIEWER_SPECIFY_METERIAL_ITEMS = "PLATE_MATERIAL_REVIEWER_SPECIFY_METERIAL_ITEMS"; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java index aafba4a815e..3ccf618c625 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java @@ -6,7 +6,6 @@ import java.util.List; import com.extjs.gxt.ui.client.Style.Scroll; import com.extjs.gxt.ui.client.event.ButtonEvent; import com.extjs.gxt.ui.client.event.SelectionListener; -import com.extjs.gxt.ui.client.widget.Label; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.button.Button; import com.extjs.gxt.ui.client.widget.layout.MarginData; @@ -105,7 +104,6 @@ public class ExperimentPlateLocationsSection extends TabContent } }); - container.add(new Label(viewContext.getMessage(Dict.PLATE_MATERIAL_REVIEWER_HELP_INFO))); container.add(exactMatchOnly); container.add(materialListField); container.add(searchButton); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateSampleViewer.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateSampleViewer.java index 2cba3cb5c8c..20ffd086600 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateSampleViewer.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateSampleViewer.java @@ -27,6 +27,7 @@ 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.SampleParentWithDerived; import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample.GenericSampleViewer; +import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ScreeningViewContext; /** @@ -68,4 +69,10 @@ public final class PlateSampleViewer extends GenericSampleViewer return sections; } + @Override + protected String getOriginalDataDescription() + { + return screeningViewContext.getMessage(Dict.PLATE_VIEWER_TITLE, originalData.getCode()); + } + } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js index 197c326b997..77b0f302d87 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js @@ -1,5 +1,7 @@ // screening dictionary var screening = { + is_default_dictionary: "true", + GENE_LIBRARY_URL: "http://www.genecards.org/cgi-bin/carddisp.pl?gene={0}", GENE_LIBRARY_SEARCH_URL: "http://www.genecards.org//index.php?path=/Search/keyword/{0}", @@ -13,18 +15,34 @@ var screening = { WELL: "Well", WELL_IMAGES: "Well Images", PREVIEW: "Preview", + PLATE_VIEWER_TITLE: "Plate {0}", + // + // Experiment Viewer + // + experiment_samples_selction_title: "Plates", + no_samples_found: "There are no plates in this experiment", // // Sample Viewer // - + + sample_properties_panel_sample_identifier: "ID", sample: "Sample", sample_type: "Sample Type", generated_samples: "Children Samples", openbis_plate_metadata_browser_CODE: "Code", openbis_plate_metadata_browser_TYPE: "Type", openbis_plate_metadata_browser_THUMBNAIL: "Thumbnail", + + + sample_properties_heading: "Properties", + part_of_heading: "Components", + derived_samples_heading: "Derived Samples", + parent_samples_heading: "Parent Samples", + derived_sample: "Derived Sample", + external_data_heading: "Data Sets", + show_only_directly_connected: "directly connected", // // Sample import @@ -49,11 +67,10 @@ var screening = { IMAGE_ANALYSIS_DATA_SET: "Image Analysis Dataset", IMAGE_DATA_SET: "Image Dataset", - PLATE_MATERIAL_REVIEWER_TITLE: "Wells Reviewing Panel", - PLATE_MATERIAL_REVIEWER_HELP_INFO: "Specify a list of materials contained in the wells. You can use material codes or properties. The content of all wells in this experiment will be checked and wells containing specified materials will be shown.", + PLATE_MATERIAL_REVIEWER_TITLE: "Material Search", PLATE_MATERIAL_REVIEWER_SPECIFY_METERIAL_ITEMS: "List of material codes or properties (e.g. gene ids, gene symbols, gene descriptions, control names, compound names) separated by commas (\",\") or one item per line.", - EXPERIMENT_PLATE_MATERIAL_REVIEWER_SECTION: "Wells Reviewing Panel", + EXPERIMENT_PLATE_MATERIAL_REVIEWER_SECTION: "Material Search", EXPERIMENT_PLATE_MATERIAL_BROWSER_SECTION: "Well Materials", EXACT_MATCH_ONLY: "Exact Matches Only", -- GitLab