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 051a6a544afece93694ada335010c60eadff35a7..56fe063e06aa86f0a4447c6da96d75bfd0ebb222 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 @@ -322,6 +322,28 @@ public abstract class Dict public static final String PART_OF_SAMPLE = "part_of_sample"; + // + // Menu Titles + // + + public static final String MENU_ADMINISTRATION = "menu_administration"; + + public static final String MENU_AUTHORIZATION = "menu_authorization"; + + public static final String MENU_PROJECT = "menu_project"; + + public static final String MENU_PROPERTY_TYPES = "menu_property_types"; + + public static final String MENU_VOCABULARY = "menu_vocabulary"; + + public static final String MENU_DATA_SET = "menu_data_set"; + + public static final String MENU_EXPERIMENT = "menu_experiment"; + + public static final String MENU_MATERIAL = "menu_material"; + + public static final String MENU_SAMPLE = "menu_sample"; + // // Tab Titles // diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/ActionMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/ActionMenu.java index b12e2344a540067147fb2f060cb3811788ad1de5..f0f107152ea07b53ddcd740990bf4dbc1be408bb 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/ActionMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/ActionMenu.java @@ -23,9 +23,10 @@ import com.extjs.gxt.ui.client.widget.menu.MenuItem; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItemFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider; /** - * {@link MenuItem} with action fired on click. + * {@link MenuItem} with action fired on selection. * * @author Izabela Adamczyk * @author Piotr Buczek @@ -33,16 +34,15 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMe public class ActionMenu extends MenuItem { - private ActionMenu(final ActionMenuKind action, final String text) + private ActionMenu(final String id, final String text) { super(text); - setId(TopMenu.ID + "_" + action.name()); + setId(id); } - public ActionMenu(final ActionMenuKind action, final String name, - final ITabItemFactory tabToOpen) + private ActionMenu(final String id, final String name, final ITabItemFactory tabToOpen) { - this(action, name); + this(id, name); addSelectionListener(new SelectionListener<ComponentEvent>() { @@ -54,4 +54,10 @@ public class ActionMenu extends MenuItem }); } + public ActionMenu(final ActionMenuKind action, IMessageProvider messageProvider, + final ITabItemFactory tabToOpen) + { + this(action.getMenuId(), action.getMenuText(messageProvider), tabToOpen); + } + } \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java index c354dc9c4c9b7d44539f4041da743e50688b7e70..351a6bb9b6ddcf72d33d488619d6540622372373 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java @@ -40,6 +40,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.datas import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.experiment.ExperimentMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.material.MaterialMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.sample.SampleMenu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SessionContext; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.User; @@ -56,11 +57,16 @@ public class TopMenu extends LayoutContainer public static final String LOGOUT_BUTTON_ID = GenericConstants.ID_PREFIX + "logout-button"; + public static final String ICON_STYLE = "icon-menu-show"; + + /** {@link ActionMenu} kind enum with names matching dictionary keys */ public static enum ActionMenuKind { - ADMINISTRATION_MENU_MANAGE_GROUPS, AUTHORIZATION_MENU_USERS, AUTHORIZATION_MENU_ROLES, + ADMINISTRATION_MENU_MANAGE_GROUPS, + + AUTHORIZATION_MENU_USERS, AUTHORIZATION_MENU_ROLES, - DATA_SET_MENU_SEARCH, DATA_SET_MENU_IMPORT, + DATA_SET_MENU_SEARCH, EXPERIMENT_MENU_BROWSE, EXPERIMENT_MENU_NEW, EXPERIMENT_MENU_TYPES, @@ -68,13 +74,23 @@ public class TopMenu extends LayoutContainer SAMPLE_MENU_BROWSE, SAMPLE_MENU_NEW, SAMPLE_MENU_IMPORT, SAMPLE_MENU_TYPES, - PROJECT_MENU_NEW, PROJECT_MENU_BROWSE, + PROJECT_MENU_BROWSE, PROJECT_MENU_NEW, PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES, PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS, PROPERTY_TYPES_MENU_NEW_PROPERTY_TYPES, PROPERTY_TYPES_MENU_ASSIGN_TO_EXPERIMENT_TYPE, PROPERTY_TYPES_MENU_ASSIGN_TO_SAMPLE_TYPE, - VOCABULARY_MENU_BROWSE, VOCABULARY_MENU_NEW, + VOCABULARY_MENU_BROWSE, VOCABULARY_MENU_NEW; + + public String getMenuId() + { + return ID + "_" + this.name(); + } + + public String getMenuText(IMessageProvider messageProvider) + { + return messageProvider.getMessage(this.name()); + } } private final ToolBar toolBar; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AdministrationMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AdministrationMenu.java index e44d2e01247f46dd56c8b0d59b5242dc10512f6e..f604e0856c15466ac5c250ddb13d1e8e5895b2d3 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AdministrationMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AdministrationMenu.java @@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.admi import com.extjs.gxt.ui.client.widget.menu.Menu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -31,16 +32,14 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMess */ public class AdministrationMenu extends TopMenuItem { - // TODO 2009-03-16, Piotr Buczek: use messageProvider for Strings - public AdministrationMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Administration"); - setId(TopMenu.ID); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_ADMINISTRATION)); + setIconStyle(TopMenu.ICON_STYLE); + Menu menu = new Menu(); menu.add(new ActionMenu(TopMenu.ActionMenuKind.ADMINISTRATION_MENU_MANAGE_GROUPS, - "Manage Groups", componentProvider.getGroupsView())); + messageProvider, componentProvider.getGroupsView())); menu.add(new ProjectMenu(messageProvider, componentProvider)); menu.add(new VocabularyMenu(messageProvider, componentProvider)); menu.add(new PropertyTypesMenu(messageProvider, componentProvider)); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AuthorizationMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AuthorizationMenu.java index c2a87de2ce08e4c2297b9fad286b2964ebded74a..1b38bc41a11d50a29ffacee64b44fc2d8b9a81d5 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AuthorizationMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AuthorizationMenu.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.admi import com.extjs.gxt.ui.client.widget.menu.Menu; import com.extjs.gxt.ui.client.widget.menu.MenuItem; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -34,12 +35,13 @@ public class AuthorizationMenu extends MenuItem public AuthorizationMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Authorization"); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_AUTHORIZATION)); + setIconStyle(TopMenu.ICON_STYLE); + Menu menu = new Menu(); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.AUTHORIZATION_MENU_USERS, "Users", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.AUTHORIZATION_MENU_USERS, messageProvider, componentProvider.getPersonsView())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.AUTHORIZATION_MENU_ROLES, "Roles", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.AUTHORIZATION_MENU_ROLES, messageProvider, componentProvider.getRolesView())); setSubMenu(menu); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/ProjectMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/ProjectMenu.java index f63a460a4b32864f6e7be0dc2abdbac97f07045e..1fbccda67903b3f4f8e813571d6c6aa31842b324 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/ProjectMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/ProjectMenu.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.admi import com.extjs.gxt.ui.client.widget.menu.Menu; import com.extjs.gxt.ui.client.widget.menu.MenuItem; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -34,13 +35,14 @@ public class ProjectMenu extends MenuItem public ProjectMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Project"); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_PROJECT)); + setIconStyle(TopMenu.ICON_STYLE); + Menu menu = new Menu(); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.PROJECT_MENU_BROWSE, "Browse", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.PROJECT_MENU_BROWSE, messageProvider, componentProvider.getProjectBrowser())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.PROJECT_MENU_NEW, "New", componentProvider - .getProjectRegistration())); + menu.add(new ActionMenu(TopMenu.ActionMenuKind.PROJECT_MENU_NEW, messageProvider, + componentProvider.getProjectRegistration())); setSubMenu(menu); } } \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/PropertyTypesMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/PropertyTypesMenu.java index fc44e3587867976859bc18fb2d7eacc946034055..e19c424edad1a9fa0c6020b19bfaca14a6437d25 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/PropertyTypesMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/PropertyTypesMenu.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.admi import com.extjs.gxt.ui.client.widget.menu.Menu; import com.extjs.gxt.ui.client.widget.menu.MenuItem; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -34,22 +35,21 @@ public class PropertyTypesMenu extends MenuItem public PropertyTypesMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Property Type"); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_PROPERTY_TYPES)); + setIconStyle(TopMenu.ICON_STYLE); + Menu menu = new Menu(); menu.add(new ActionMenu(TopMenu.ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES, - "Browse Property Types", componentProvider.getPropertyTypeBrowser())); + messageProvider, componentProvider.getPropertyTypeBrowser())); menu.add(new ActionMenu(TopMenu.ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS, - "Browse Assignments", componentProvider.getPropertyTypeAssignmentBrowser())); + messageProvider, componentProvider.getPropertyTypeAssignmentBrowser())); menu.add(new ActionMenu(TopMenu.ActionMenuKind.PROPERTY_TYPES_MENU_NEW_PROPERTY_TYPES, - "New Property Type", componentProvider.getPropertyTypeRegistration())); + messageProvider, componentProvider.getPropertyTypeRegistration())); menu.add(new ActionMenu( TopMenu.ActionMenuKind.PROPERTY_TYPES_MENU_ASSIGN_TO_EXPERIMENT_TYPE, - "Assign to Experiment Type", componentProvider - .getPropertyTypeExperimentTypeAssignmentForm())); + messageProvider, componentProvider.getPropertyTypeExperimentTypeAssignmentForm())); menu.add(new ActionMenu(TopMenu.ActionMenuKind.PROPERTY_TYPES_MENU_ASSIGN_TO_SAMPLE_TYPE, - "Assign to Sample Type", componentProvider - .getPropertyTypeSampleTypeAssignmentForm())); + messageProvider, componentProvider.getPropertyTypeSampleTypeAssignmentForm())); setSubMenu(menu); } } \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/VocabularyMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/VocabularyMenu.java index a9448f20da84f850aae6bbb77808702c3cee2276..ac831b95e2dc26c107e702340767658491c18fe1 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/VocabularyMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/VocabularyMenu.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.admi import com.extjs.gxt.ui.client.widget.menu.Menu; import com.extjs.gxt.ui.client.widget.menu.MenuItem; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -34,12 +35,13 @@ public class VocabularyMenu extends MenuItem public VocabularyMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Vocabulary"); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_VOCABULARY)); + setIconStyle(TopMenu.ICON_STYLE); + Menu menu = new Menu(); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.VOCABULARY_MENU_BROWSE, "Browse", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.VOCABULARY_MENU_BROWSE, messageProvider, componentProvider.getVocabularyBrowser())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.VOCABULARY_MENU_NEW, "New", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.VOCABULARY_MENU_NEW, messageProvider, componentProvider.getVocabularyRegistration())); setSubMenu(menu); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/dataset/DataSetMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/dataset/DataSetMenu.java index f4963f6c716a5dd14c32fc2351a80c94a7d2fda4..97bfbc0499ddf98ea517822834804b73a4481183 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/dataset/DataSetMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/dataset/DataSetMenu.java @@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.data import com.extjs.gxt.ui.client.widget.menu.Menu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -34,13 +35,12 @@ public class DataSetMenu extends TopMenuItem public DataSetMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Data Set"); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_DATA_SET)); + setIconStyle(TopMenu.ICON_STYLE); + Menu menu = new Menu(); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.DATA_SET_MENU_SEARCH, "Search", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.DATA_SET_MENU_SEARCH, messageProvider, componentProvider.getDataSetSearch())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.DATA_SET_MENU_IMPORT, "Import", - componentProvider.getDummyComponent())); setMenu(menu); } } \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/experiment/ExperimentMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/experiment/ExperimentMenu.java index 676395288982dfd19460397118f617d47d3b57b7..68db2a96dcf35f1953aa0bc5967b26f5c19f5a1d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/experiment/ExperimentMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/experiment/ExperimentMenu.java @@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.expe import com.extjs.gxt.ui.client.widget.menu.Menu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -33,17 +34,16 @@ public class ExperimentMenu extends TopMenuItem { public ExperimentMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Experiment"); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_EXPERIMENT)); + setIconStyle(TopMenu.ICON_STYLE); Menu menu = new Menu(); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.EXPERIMENT_MENU_BROWSE, "Browse", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.EXPERIMENT_MENU_BROWSE, messageProvider, componentProvider.getExperimentBrowser())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.EXPERIMENT_MENU_NEW, "New", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.EXPERIMENT_MENU_NEW, messageProvider, componentProvider.getExperimentRegistration())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.EXPERIMENT_MENU_TYPES, "Types", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.EXPERIMENT_MENU_TYPES, messageProvider, componentProvider.getExperimentTypeBrowser())); - setMenu(menu); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/material/MaterialMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/material/MaterialMenu.java index c1fb9819e1d29c585e2003d1b0e6b49f05220a89..a157bbb6f1bc0f102c3718631d4653a6087e4d63 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/material/MaterialMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/material/MaterialMenu.java @@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.mate import com.extjs.gxt.ui.client.widget.menu.Menu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -34,14 +35,15 @@ public class MaterialMenu extends TopMenuItem public MaterialMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Material"); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_MATERIAL)); + setIconStyle(TopMenu.ICON_STYLE); + Menu menu = new Menu(); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.MATERIAL_MENU_BROWSE, "Browse", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.MATERIAL_MENU_BROWSE, messageProvider, componentProvider.getMaterialBrowser())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.MATERIAL_MENU_IMPORT, "Import", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.MATERIAL_MENU_IMPORT, messageProvider, componentProvider.getMaterialBatchRegistration())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.MATERIAL_MENU_TYPES, "Types", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.MATERIAL_MENU_TYPES, messageProvider, componentProvider.getMaterialTypeBrowser())); setMenu(menu); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/sample/SampleMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/sample/SampleMenu.java index 584ffa3c2729b8d4e2e5b91a8f8a333f77149c2f..6bf594d13dea6100cd137344f3ecf56d5e28fa42 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/sample/SampleMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/sample/SampleMenu.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.samp import com.extjs.gxt.ui.client.widget.menu.Menu; import com.extjs.gxt.ui.client.widget.menu.SeparatorMenuItem; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; @@ -35,16 +36,17 @@ public class SampleMenu extends TopMenuItem public SampleMenu(IMessageProvider messageProvider, ComponentProvider componentProvider) { - super("Sample"); - setIconStyle("icon-menu-show"); + super(messageProvider.getMessage(Dict.MENU_SAMPLE)); + setIconStyle(TopMenu.ICON_STYLE); + Menu menu = new Menu(); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE, "Browse", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE, messageProvider, componentProvider.getSampleBrowser())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_NEW, "New", componentProvider - .getSampleRegistration())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_IMPORT, "Import", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_NEW, messageProvider, + componentProvider.getSampleRegistration())); + menu.add(new ActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_IMPORT, messageProvider, componentProvider.getSampleBatchRegistration())); - menu.add(new ActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_TYPES, "Types", + menu.add(new ActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_TYPES, messageProvider, componentProvider.getSampleTypeBrowser())); menu.add(new SeparatorMenuItem()); setMenu(menu); 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 8557ad9c1a07ebd3153ee7bd8e1946fc2ec5dea6..5a2e434117e2dbcf02d137e8f8e54c39f1a7c90b 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 @@ -151,6 +151,51 @@ var common = { default_value_tooltip: "The value of the assigned property for all currently existing entities.", entity_type_assignments: "{0} Type Assignment{1}", + // + // Menu Titles + // + + menu_administration: "Administration", + ADMINISTRATION_MENU_MANAGE_GROUPS: "Manage Groups", + + menu_authorization: "Authorization", + AUTHORIZATION_MENU_USERS: "Users", + AUTHORIZATION_MENU_ROLES: "Roles", + + menu_data_set: "Data Set", + DATA_SET_MENU_SEARCH: "Search", + + menu_experiment: "Experiment", + EXPERIMENT_MENU_BROWSE: "Browse", + EXPERIMENT_MENU_NEW: "New", + EXPERIMENT_MENU_TYPES: "Types", + + menu_material: "Material", + MATERIAL_MENU_BROWSE: "Browse", + MATERIAL_MENU_IMPORT: "Import", + MATERIAL_MENU_TYPES: "Types", + + menu_sample: "Sample", + SAMPLE_MENU_BROWSE: "Browse", + SAMPLE_MENU_NEW: "New", + SAMPLE_MENU_IMPORT: "Import", + SAMPLE_MENU_TYPES: "Types", + + menu_project: "Project", + PROJECT_MENU_BROWSE: "Browse", + PROJECT_MENU_NEW: "New", + + menu_property_types: "Property Types", + PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES: "Browse Property Types", + PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS: "Browse Assignments", + PROPERTY_TYPES_MENU_NEW_PROPERTY_TYPES: "New Property Types", + PROPERTY_TYPES_MENU_ASSIGN_TO_EXPERIMENT_TYPE: "Assign To Experiment Type", + PROPERTY_TYPES_MENU_ASSIGN_TO_SAMPLE_TYPE: "Assign To Sample Type", + + menu_vocabulary: "Vocabulary", + VOCABULARY_MENU_BROWSE: "Browse", + VOCABULARY_MENU_NEW: "New", + // // Tab Titles // diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AuthorizationManagementConsolTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AuthorizationManagementConsolTest.java index 2afcff58d4dc2c608c4542b0bda918ccdaa284b8..8a0f413ae35194c05bcede154ed7a142cb150743 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AuthorizationManagementConsolTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AuthorizationManagementConsolTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.amc.AddPersonDialog; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.amc.CheckGroup; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.amc.CheckPerson; @@ -44,8 +44,7 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase public final void testCreateGroup() { final String groupCode = TEST_GROUP; - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.GROUPS, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.ADMINISTRATION_MENU_MANAGE_GROUPS); remoteConsole.prepare(new CreateGroup(groupCode)); remoteConsole.prepare(new CheckGroup(groupCode.toUpperCase())); @@ -56,8 +55,7 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase { // This userId must be one of the ones located on 'etc/passwd' (file based authentication). final String userId = USER_ID; - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.PERSONS, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.AUTHORIZATION_MENU_USERS); remoteConsole.prepare(new CreatePerson(userId)); remoteConsole.prepare(new CheckPerson(userId)); @@ -66,8 +64,7 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase public final void testCreateRole() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.ROLES, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.AUTHORIZATION_MENU_ROLES); remoteConsole.prepare(new CreateRole(TEST_GROUP.toUpperCase(), USER_ID, RoleSetCode.OBSERVER.toString())); remoteConsole.prepare(new CheckRole(TEST_GROUP.toUpperCase(), USER_ID, RoleSetCode.OBSERVER @@ -82,8 +79,7 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase */ public final void testCreatePersonByAnUnauthorizedUser() { - loginAndGotoTab("o", - "o", CategoriesBuilder.MenuCategoryKind.PERSONS, CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab("o", "o", ActionMenuKind.AUTHORIZATION_MENU_USERS); final String userId = "u"; remoteConsole.prepare(new CreatePerson(userId)); FailureExpectation failureExpectation = diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/DataSetSearchTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/DataSetSearchTest.java index 285f3561229f1def45ccce6bbcd1257c1a4d9bfa..b739d65dcf7c976d3dd24a671a71862cd538853f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/DataSetSearchTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/DataSetSearchTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.data.DataSetSearchHitColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data.AbstractExternalDataGrid; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data.DataSetSearchHitGrid; @@ -103,7 +103,6 @@ public class DataSetSearchTest extends AbstractGWTTestCase private void loginAndGotoTab() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.DATA_SETS, - CategoriesBuilder.MenuElementKind.SEARCH); + loginAndGotoTab(ActionMenuKind.DATA_SET_MENU_SEARCH); } } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/EntityTypeBrowserTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/EntityTypeBrowserTest.java index 6fb64094349d15288c55d237be368a5b3194ee2b..71dc00ac4b28934985c7f592b7c479e44a207e5e 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/EntityTypeBrowserTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/EntityTypeBrowserTest.java @@ -16,8 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder.MenuCategoryKind; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder.MenuElementKind; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.EntityTypeColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentTypeGrid; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.material.MaterialTypeGrid; @@ -36,7 +35,7 @@ public class EntityTypeBrowserTest extends AbstractGWTTestCase public final void testListMaterialTypes() { - loginAndGotoTab(MenuCategoryKind.MATERIALS, MenuElementKind.BROWSE_TYPES); + loginAndGotoTab(ActionMenuKind.MATERIAL_MENU_TYPES); CheckTableCommand table = new CheckTableCommand(MaterialTypeGrid.GRID_ID, MaterialTypeGrid.ListEntitiesCallback.class); @@ -45,7 +44,7 @@ public class EntityTypeBrowserTest extends AbstractGWTTestCase public final void testListSampleTypes() { - loginAndGotoTab(MenuCategoryKind.SAMPLES, MenuElementKind.BROWSE_TYPES); + loginAndGotoTab(ActionMenuKind.SAMPLE_MENU_TYPES); CheckTableCommand table = new CheckTableCommand(SampleTypeGrid.GRID_ID, SampleTypeGrid.ListEntitiesCallback.class); @@ -54,7 +53,7 @@ public class EntityTypeBrowserTest extends AbstractGWTTestCase public final void testListExperimentTypes() { - loginAndGotoTab(MenuCategoryKind.EXPERIMENTS, MenuElementKind.BROWSE_TYPES); + loginAndGotoTab(ActionMenuKind.EXPERIMENT_MENU_TYPES); CheckTableCommand table = new CheckTableCommand(ExperimentTypeGrid.GRID_ID, ExperimentTypeGrid.ListEntitiesCallback.class); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/EntityTypePropertyTypeAssignmentTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/EntityTypePropertyTypeAssignmentTest.java index 5715ea0587ac21a7b2d9d4482fb2b6a8eeb05207..c277b88635d750098d842fbfe181596de08fa280 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/EntityTypePropertyTypeAssignmentTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/EntityTypePropertyTypeAssignmentTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.OpenTab; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.renderers.SimpleYesNoRenderer; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.PropertyTypeAssignmentColDefKind; @@ -57,8 +57,7 @@ public class EntityTypePropertyTypeAssignmentTest extends AbstractGWTTestCase private final void prepareListingAfterAssignment(String propertyTypeCode, String entityTypeCode, EntityKind entityKind, int expectedEntries, boolean isMandatory) { - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.PROPERTY_TYPES, - CategoriesBuilder.MenuElementKind.LIST_ASSIGNMENTS, + remoteConsole.prepare(new OpenTab(ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS, PropertyTypeAssignmentForm.AssignPropertyTypeCallback.class)); CheckPropertyTypeAssignmentTable table = new CheckPropertyTypeAssignmentTable(); table.expectedRow(new Row().withCell( @@ -73,8 +72,7 @@ public class EntityTypePropertyTypeAssignmentTest extends AbstractGWTTestCase public final void testAssignExperimentPropertyType() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.PROPERTY_TYPES, - CategoriesBuilder.MenuElementKind.ASSIGN_ETPT); + loginAndGotoTab(ActionMenuKind.PROPERTY_TYPES_MENU_ASSIGN_TO_EXPERIMENT_TYPE); final boolean mandatory = true; remoteConsole.prepare(new FillPropertyTypeAssignmentForm(mandatory, USER_COMMENT, COMPOUND_HCS, "a comment", EXPERIMENT)); @@ -84,12 +82,10 @@ public class EntityTypePropertyTypeAssignmentTest extends AbstractGWTTestCase public final void testGlobalValueAssignmentSamplePropertyType() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.PROPERTY_TYPES, - CategoriesBuilder.MenuElementKind.ASSIGN_STPT); + loginAndGotoTab(ActionMenuKind.PROPERTY_TYPES_MENU_ASSIGN_TO_SAMPLE_TYPE); remoteConsole.prepare(new FillPropertyTypeAssignmentForm(false, USER_COMMENT, CONTROL_LAYOUT, NO_COMMENT, SAMPLE)); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(ActionMenuKind.SAMPLE_MENU_BROWSE, PropertyTypeAssignmentForm.AssignPropertyTypeCallback.class)); remoteConsole.prepare(new ListSamples(CISD, CONTROL_LAYOUT)); CheckSampleTable table = new CheckSampleTable(); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ExperimentBrowserTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ExperimentBrowserTest.java index 62d1d618e3ad7aadb34b6f3ce971f2dff6d6fd0e..a4dcb8795378b0ebce3ce08d6cbf630ebe661d1a 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ExperimentBrowserTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ExperimentBrowserTest.java @@ -16,8 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder.MenuCategoryKind; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder.MenuElementKind; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.CheckExperimentTable; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentRow; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ListExperiments; @@ -33,7 +32,7 @@ public class ExperimentBrowserTest extends AbstractGWTTestCase public final void testListExperiments() { - loginAndGotoTab(MenuCategoryKind.EXPERIMENTS, MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.EXPERIMENT_MENU_BROWSE); remoteConsole.prepare(new ListExperiments("DEFAULT (CISD)", "SIRNA_HCS")); CheckExperimentTable table = new CheckExperimentTable(); table.expectedRow(new ExperimentRow("EXP-REUSE").valid()); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MaterialBrowserTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MaterialBrowserTest.java index 0cfaa506f7622225e6588550bd19bf93860a883a..657295ea0ff5ad41a38ef78ba654e42f2e63a06b 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MaterialBrowserTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MaterialBrowserTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.material.CheckMaterialTable; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.material.ListMaterials; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.material.MaterialRow; @@ -32,9 +32,8 @@ public class MaterialBrowserTest extends AbstractGWTTestCase public final void testListMaterials() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.MATERIALS, - CategoriesBuilder.MenuElementKind.BROWSE); - + loginAndGotoTab(ActionMenuKind.MATERIAL_MENU_BROWSE); + remoteConsole.prepare(new ListMaterials("BACTERIUM")); CheckMaterialTable table = new CheckMaterialTable(); table.expectedRow(new MaterialRow("BACTERIUM-X").userProperty("ORGANISM", "FLY")); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ProjectRegistrationTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ProjectRegistrationTest.java index dcd5843f31bc0ba40643289ef7b6f8076b7eb37e..e2a278fdd07dc557ed4af0cbde1f6b46b4b54295 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ProjectRegistrationTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ProjectRegistrationTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.OpenTab; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.ProjectColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.project.CheckProjectTable; @@ -38,13 +38,11 @@ public class ProjectRegistrationTest extends AbstractGWTTestCase public final void testRegisterProject() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.PROJECTS, - CategoriesBuilder.MenuElementKind.REGISTER); + loginAndGotoTab(TopMenu.ActionMenuKind.PROJECT_MENU_NEW); remoteConsole.prepare(new FillProjectRegistrationForm(PROJECT_CODE_HER_MAJESTY, "CISD", DESCRIPTION_PROJECT_007)); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.PROJECTS, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(TopMenu.ActionMenuKind.PROJECT_MENU_BROWSE, ProjectRegistrationForm.ProjectRegistrationCallback.class)); final CheckProjectTable table = new CheckProjectTable(); table.expectedRow(new Row().withCell(ProjectColDefKind.CODE.id(), PROJECT_CODE_HER_MAJESTY) diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeAssignmentBrowserTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeAssignmentBrowserTest.java index deeb93eee27b762cb49f141ab91e66f52d7d2e52..87fd000c4e4b3f774bc4ddf9260df1c49818568b 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeAssignmentBrowserTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeAssignmentBrowserTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.PropertyTypeAssignmentColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.property_type.CheckPropertyTypeAssignmentTable; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase; @@ -32,8 +32,7 @@ public class PropertyTypeAssignmentBrowserTest extends AbstractGWTTestCase public final void testListAssignments() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.PROPERTY_TYPES, - CategoriesBuilder.MenuElementKind.LIST_ASSIGNMENTS); + loginAndGotoTab(ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS); CheckPropertyTypeAssignmentTable table = new CheckPropertyTypeAssignmentTable(); table.expectedRow(new Row().withCell( PropertyTypeAssignmentColDefKind.PROPERTY_TYPE_CODE.id(), "USER.DESCRIPTION") diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeBrowserTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeBrowserTest.java index 48d6f143e0571551ae3da6039ce2a81eaee4a3c4..dd638d14738f9761fabbf208bd3665637677139f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeBrowserTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeBrowserTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.PropertyTypeColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.property_type.CheckPropertyTypeTable; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase; @@ -32,8 +32,7 @@ public class PropertyTypeBrowserTest extends AbstractGWTTestCase public final void testListPropertyTypes() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.PROPERTY_TYPES, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES); CheckPropertyTypeTable table = new CheckPropertyTypeTable(); table.expectedRow(new Row().withCell(PropertyTypeColDefKind.CODE.id(), "PLATE_GEOMETRY")); remoteConsole.prepare(table.expectedSize(14)); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeRegistrationTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeRegistrationTest.java index edbb06a726c6614333bb2c775ac67402653c3a83..c3cc6c8781caaa93ece9175ff7cb6f40849c296b 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeRegistrationTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/PropertyTypeRegistrationTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.OpenTab; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.PropertyTypeColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.property_type.CheckPropertyTypeTable; @@ -46,12 +46,10 @@ public class PropertyTypeRegistrationTest extends AbstractGWTTestCase public final void testRegisterPropertyType() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.PROPERTY_TYPES, - CategoriesBuilder.MenuElementKind.REGISTER); + loginAndGotoTab(ActionMenuKind.PROPERTY_TYPES_MENU_NEW_PROPERTY_TYPES); remoteConsole.prepare(createFillPropertyTypeRegistrationForm()); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.PROPERTY_TYPES, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES, PropertyTypeRegistrationForm.PropertyTypeRegistrationCallback.class)); final CheckPropertyTypeTable table = new CheckPropertyTypeTable(); table.expectedRow(new Row().withCell(PropertyTypeColDefKind.CODE.id(), diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SampleBrowserTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SampleBrowserTest.java index 424d465054244d69f370938016d4ef64e48a815c..47ac365618f4da7c4b372cbae7b916977d50feeb 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SampleBrowserTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SampleBrowserTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.GroupSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample.CheckSampleTable; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample.ExportSamplesTestCommand; @@ -104,7 +104,6 @@ public class SampleBrowserTest extends AbstractGWTTestCase private void loginAndGotoListSamplesTab() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.SAMPLE_MENU_BROWSE); } } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/VocabularyBrowserTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/VocabularyBrowserTest.java index 90a9aa8907c71b32f861befd1431f562dd6d7c7f..01bb019823c5c293fdbe54f73c552b7cd7d14687 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/VocabularyBrowserTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/VocabularyBrowserTest.java @@ -19,7 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; import com.extjs.gxt.ui.client.widget.grid.Grid; import com.google.gwt.user.client.ui.Widget; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.VocabularyColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.VocabularyTermColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.util.GridTestUtils; @@ -42,8 +42,7 @@ public class VocabularyBrowserTest extends AbstractGWTTestCase public final void testListVocabularies() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.VOCABULARIES, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.VOCABULARY_MENU_BROWSE); CheckTableCommand table = new CheckTableCommand(VocabularyGrid.GRID_ID, VocabularyGrid.ListEntitiesCallback.class); @@ -55,9 +54,8 @@ public class VocabularyBrowserTest extends AbstractGWTTestCase public final void testShowTermDetails() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.VOCABULARIES, - CategoriesBuilder.MenuElementKind.BROWSE); - + loginAndGotoTab(ActionMenuKind.VOCABULARY_MENU_BROWSE); + remoteConsole.prepare(new ClickOnVocabularyCmd(VOCABULARY_CODE)); CheckTableCommand termsTable = diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/VocabularyRegistrationTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/VocabularyRegistrationTest.java index 6cdd06c305385bf470fe70de1758ca2bdd431337..54211b5d6fee49bf54a3fb2e7e69ded229508ed3 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/VocabularyRegistrationTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/VocabularyRegistrationTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.vocabulary.FillVocabularyRegistrationForm; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase; @@ -37,8 +37,7 @@ public class VocabularyRegistrationTest extends AbstractGWTTestCase public final void testRegisterVocabulary() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.VOCABULARIES, - CategoriesBuilder.MenuElementKind.REGISTER); + loginAndGotoTab(ActionMenuKind.VOCABULARY_MENU_NEW); remoteConsole.prepare(createFillVocabularyRegistrationForm()); // TODO 2008-12-22, Christian Ribeaud: Finish this once we have list vocabularies. diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/OpenTab.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/OpenTab.java index ffb1d94fa527e8d4b2d0d9beeb031b7d468124b4..56eede514e4f1f20c910383a2118b2d0e8c4e292 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/OpenTab.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/OpenTab.java @@ -19,46 +19,21 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui; import com.google.gwt.user.client.rpc.AsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.SessionContextCallback; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.LeftMenu; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder.MenuCategoryKind; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder.MenuElementKind; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil; /** - * A {@link AbstractDefaultTestCommand} extension for choosing a roles menu element. + * A {@link AbstractDefaultTestCommand} extension for opening a tab by selecting an + * {@link ActionMenu}. * * @author Izabela Adamczyk + * @author Piotr Buczek */ public final class OpenTab extends AbstractDefaultTestCommand { - private String category; - - private String option; - - // TODO 2009-03-16, Piotr Buczek: change to final and remove category/option - @SuppressWarnings("unused") - private String action; - - public OpenTab(final MenuCategoryKind category, final MenuElementKind option, - final Class<? extends AsyncCallback<?>> callbackClass) - { - if (callbackClass == null) - { - addCallbackClass(SessionContextCallback.class); - } else - { - addCallbackClass(callbackClass); - } - this.category = category.name(); - this.option = option.name(); - } - - public OpenTab(final MenuCategoryKind category, final MenuElementKind option) - { - this(category, option, null); - } + private final ActionMenuKind action; public OpenTab(final ActionMenuKind action, final Class<? extends AsyncCallback<?>> callbackClass) @@ -70,7 +45,7 @@ public final class OpenTab extends AbstractDefaultTestCommand { addCallbackClass(callbackClass); } - this.action = action.name(); + this.action = action; } public OpenTab(final ActionMenuKind action) @@ -84,9 +59,6 @@ public final class OpenTab extends AbstractDefaultTestCommand public final void execute() { - // TODO 2009-03-16, Piotr Buczek: change to use TopMenu - // GWTTestUtil.selectTopMenuWithID(TopMenu.ID, action); - GWTTestUtil.selectMenuCategoryWithID(LeftMenu.ID, category); - GWTTestUtil.selectMenuWithID(LeftMenu.ID, category, option); + GWTTestUtil.selectTopActionMenu(action); } } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractGWTTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractGWTTestCase.java index e621ea5e80019a2bb41e60aec153e436bb0ef12f..40c9f36cca8c974360f57514d3678f140823b177 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractGWTTestCase.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractGWTTestCase.java @@ -28,8 +28,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAs import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.Client; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder.MenuCategoryKind; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder.MenuElementKind; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.Login; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.OpenTab; @@ -140,30 +139,13 @@ public abstract class AbstractGWTTestCase extends GWTTestCase // ---------- - /** login default user in and go to the specified tab */ - protected final void loginAndGotoTab(MenuCategoryKind menuCategoryKind, - MenuElementKind menuElementKind) - { - loginAndGotoTab("test", "a", menuCategoryKind, menuElementKind); - } - - /** login specified user in and go to the specified tab */ - protected final void loginAndGotoTab(String userName, String passwd, - MenuCategoryKind menuCategoryKind, MenuElementKind menuElementKind) - { - remoteConsole.prepare(new Login(userName, passwd)); - remoteConsole.prepare(new OpenTab(menuCategoryKind, menuElementKind)); - } - - // ---- - - /** login default user in and go to the specified tab (fire specified action menu) */ + /** login default user in and open tab by {@link ActionMenu} */ protected final void loginAndGotoTab(ActionMenuKind actionMenuKind) { loginAndGotoTab("test", "a", actionMenuKind); } - /** login specified user in and go to the specified tab (fire specified action menu) */ + /** login specified user in and open tab by {@link ActionMenu} */ protected final void loginAndGotoTab(String userName, String passwd, ActionMenuKind actionMenuKind) { diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/GWTTestUtil.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/GWTTestUtil.java index 3ea85163a52b13227fb7fb18bb4d38035b3b7d83..eb8c127d2ff6365f482d874969276159286b25cd 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/GWTTestUtil.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/GWTTestUtil.java @@ -45,14 +45,15 @@ import com.extjs.gxt.ui.client.widget.toolbar.ToolItem; import com.extjs.gxt.ui.client.widget.tree.Tree; import com.extjs.gxt.ui.client.widget.tree.TreeItem; import com.google.gwt.user.client.Element; -import com.google.gwt.user.client.Event; import com.google.gwt.user.client.ui.ComplexPanel; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.Widget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.LeftMenu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenuItem; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.PagingToolBarAdapter; /** @@ -68,44 +69,14 @@ public final class GWTTestUtil } /** - * Clicks on the menu category with specified id. + * Clicks on the {@link ActionMenu} specified by {@link ActionMenuKind}. */ - public static void selectMenuCategoryWithID(final String menu, final String category) + public static void selectTopActionMenu(final ActionMenuKind action) { - final String id = menu + "_" + category; - final Widget widget = tryToFindByID(id); - assertWidgetFound("Menu category", id, widget); - Assert.assertTrue("Widget '" + id + "' isn't a ContentPanel (menu category): " - + widget.getClass(), widget instanceof ContentPanel); - ((ContentPanel) widget).fireEvent(Events.Select); - } - - /** - * Clicks on the menu option with specified id. - */ - public static void selectMenuWithID(final String menu, final String category, - final String option) - { - final String id = menu + "_" + category + "_" + option; + final String id = action.getMenuId(); final Widget item = tryToFindByID(id); assertWidgetFound("Menu element", id, item); - final Widget tree = tryToFindByID(menu + "_" + category + LeftMenu.TREE_SUFFIX); - assertWidgetFound("Menu element tree", id + LeftMenu.TREE_SUFFIX, tree); - ((Tree) tree).setSelectedItem((TreeItem) item); - ((Tree) tree).fireEvent(Event.ONCLICK); - - } - - /** - * Clicks on the menu option with specified id. - */ - public static void selectTopMenuWithID(final String menu, final String action) - { - final String id = menu + "_" + action; - final Widget item = tryToFindByID(id); - assertWidgetFound("Menu element", id, item); - ((MenuItem) item).fireEvent(Event.ONCLICK); - + ((MenuItem) item).fireEvent(Events.Select); } /** @@ -344,6 +315,12 @@ public final class GWTTestUtil if (widget instanceof ComplexPanel) { return new ComplexPanelHandler(this).handle((ComplexPanel) widget); + } else if (widget instanceof TopMenuItem) + { + return new TopMenuItemHandler(this).handle((TopMenuItem) widget); + } else if (widget instanceof MenuItem) + { + return new MenuItemHandler(this).handle((MenuItem) widget); } else if (widget instanceof Menu) { return new MenuHandler(this).handle((Menu) widget); @@ -411,6 +388,56 @@ public final class GWTTestUtil } } + /** Handle for handling {@link TopMenuItem} widget. */ + private static final class TopMenuItemHandler implements IWidgetHandler<TopMenuItem> + { + private final IWidgetHandler<Widget> handler; + + TopMenuItemHandler(final IWidgetHandler<Widget> handler) + { + this.handler = handler; + } + + // + // IWidgetHandler + // + + public final boolean handle(final TopMenuItem topMenuItem) + { + if (handler.handle(topMenuItem.getMenu())) + { + return true; + } + return false; + } + + } + + /** Handle for handling {@link MenuItem} widget. */ + private static final class MenuItemHandler implements IWidgetHandler<MenuItem> + { + private final IWidgetHandler<Widget> handler; + + MenuItemHandler(final IWidgetHandler<Widget> handler) + { + this.handler = handler; + } + + // + // IWidgetHandler + // + + public final boolean handle(final MenuItem menuItem) + { + if (handler.handle(menuItem.getSubMenu())) + { + return true; + } + return false; + } + + } + /** Handle for handling {@link Menu} widget. */ private static final class MenuHandler implements IWidgetHandler<Menu> { @@ -427,17 +454,19 @@ public final class GWTTestUtil public final boolean handle(final Menu menu) { - - for (final Item i : menu.getItems()) + if (menu != null) { - if (handler.handle(i)) + for (final Item i : menu.getItems()) { - return true; + if (handler.handle(i)) + { + return true; + } } - } return false; } + } private static final class TreeHandler implements IWidgetHandler<Tree> diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentAttachmentDownloadTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentAttachmentDownloadTest.java index fbc124cf762bb4a17293cdbb12caa2fe1c4eb79b..683b7ecb7e5da516094f63eb18eacf315f92822f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentAttachmentDownloadTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentAttachmentDownloadTest.java @@ -27,7 +27,7 @@ import com.google.gwt.http.client.Response; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AppEvents; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ListExperiments; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ShowExperiment; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand; @@ -49,8 +49,7 @@ public class GenericExperimentAttachmentDownloadTest extends AbstractGWTTestCase private void prepareShowExperiment(final String projectName, final String experimentTypeName, final String experimentCode) { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.EXPERIMENTS, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.EXPERIMENT_MENU_BROWSE); remoteConsole.prepare(new ListExperiments(projectName, experimentTypeName)); remoteConsole.prepare(new ShowExperiment(experimentCode)); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentRegistrationTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentRegistrationTest.java index 4906cfd2d3d726402658e31fcd83bdc094e62582..3bb539184ee7bb20834ca5a80c684cdff7e4af2e 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentRegistrationTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentRegistrationTest.java @@ -16,7 +16,8 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.OpenTab; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.CheckExperimentTable; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ChooseTypeOfNewExperiment; @@ -38,8 +39,7 @@ public class GenericExperimentRegistrationTest extends AbstractGWTTestCase private final void loginAndPreprareRegistration(final String sampleType) { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.EXPERIMENTS, - CategoriesBuilder.MenuElementKind.REGISTER); + loginAndGotoTab(ActionMenuKind.EXPERIMENT_MENU_NEW); remoteConsole.prepare(new ChooseTypeOfNewExperiment(sampleType)); } @@ -56,8 +56,9 @@ public class GenericExperimentRegistrationTest extends AbstractGWTTestCase "MALE")).addProperty( new PropertyField(GenericExperimentRegistrationForm.ID + "user-purchase-date", "2008-12-17"))); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.EXPERIMENTS, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(TopMenu.ActionMenuKind.EXPERIMENT_MENU_BROWSE, + // CategoriesBuilder.MenuCategoryKind.EXPERIMENTS, + // CategoriesBuilder.MenuElementKind.BROWSE, GenericExperimentRegistrationForm.RegisterExperimentCallback.class)); remoteConsole.prepare(new ListExperiments("DEFAULT", experimentTypeCode)); remoteConsole.prepare(new CheckExperimentTable() @@ -80,8 +81,9 @@ public class GenericExperimentRegistrationTest extends AbstractGWTTestCase .addProperty( new PropertyField(GenericExperimentRegistrationForm.ID + "user-purchase-date", "2008-12-18"))); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE, + // CategoriesBuilder.MenuCategoryKind.SAMPLES, + // CategoriesBuilder.MenuElementKind.BROWSE, GenericExperimentRegistrationForm.RegisterExperimentCallback.class)); remoteConsole.prepare(new ListSamples("CISD", "CELL_PLATE")); CheckSampleTable table = new CheckSampleTable(); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewerTest.java index a83a7d48b042b8975fa2d356141ffbbc407349a0..7ab25a570ef94bc5f6304a8c5c32624c4af93b68 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewerTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewerTest.java @@ -20,7 +20,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAs import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.SessionContextCallback; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.Login; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data.columns.DataSetRow; @@ -200,8 +200,7 @@ public class GenericExperimentViewerTest extends AbstractGWTTestCase private void prepareShowExperiment(final String projectName, final String experimentTypeName, final String experimentCode) { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.EXPERIMENTS, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.EXPERIMENT_MENU_BROWSE); remoteConsole.prepare(new ListExperiments(projectName, experimentTypeName)); remoteConsole.prepare(new ShowExperiment(experimentCode)); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationTest.java index fa8428c1de7fbac060c6f05fd927b04f54856061..2b1985a870484e2f60418989e1ddc40ecdd9e7f0 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationTest.java @@ -16,7 +16,8 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.GroupSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.OpenTab; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.sample.CommonSampleColDefKind; @@ -48,8 +49,7 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase private final void loginAndPreprareRegistration(final String sampleType) { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.REGISTER); + loginAndGotoTab(ActionMenuKind.SAMPLE_MENU_NEW); remoteConsole.prepare(new ChooseTypeOfNewSample(sampleType)); } @@ -60,8 +60,7 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase remoteConsole.prepare(new FillSampleRegistrationForm("CISD", GROUP_CL) .addProperty(new PropertyField(GenericSampleRegistrationForm.ID + "plate-geometry", "1536_WELLS_32X48"))); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE, GenericSampleRegistrationForm.RegisterSampleCallback.class)); remoteConsole.prepare(new ListSamples("CISD", sampleTypeCode)); remoteConsole.prepare(new CheckSampleTable().expectedRow(new SampleRow(GROUP_CL) @@ -75,8 +74,7 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase */ public final void testRegisterSampleByAnUnauthorizedUser() { - loginAndGotoTab("observer", - "observer", CategoriesBuilder.MenuCategoryKind.SAMPLES, CategoriesBuilder.MenuElementKind.REGISTER); + loginAndGotoTab("observer", "observer", ActionMenuKind.SAMPLE_MENU_NEW); remoteConsole.prepare(new ChooseTypeOfNewSample(SampleTypeCode.CONTROL_LAYOUT.getCode())); remoteConsole.prepare(new FillSampleRegistrationForm("TESTGROUP", GROUP_CL + "1") .addProperty(new PropertyField(GenericSampleRegistrationForm.ID + "plate-geometry", @@ -97,8 +95,7 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase loginAndPreprareRegistration(sampleTypeCode); remoteConsole.prepare(new FillSampleRegistrationForm("CISD", sampleCode) .parent("MP1-MIXED")); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE, GenericSampleRegistrationForm.RegisterSampleCallback.class)); remoteConsole.prepare(new ListSamples("CISD", sampleTypeCode)); remoteConsole.prepare(new CheckSampleTable().expectedRow(new SampleRow(sampleCode @@ -114,8 +111,7 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase loginAndPreprareRegistration(sampleTypeCode); remoteConsole.prepare(new FillSampleRegistrationForm("CISD", sampleCode) .container(containerCode)); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE, GenericSampleRegistrationForm.RegisterSampleCallback.class)); remoteConsole.prepare(new ListSamples("CISD", SampleTypeCode.CELL_PLATE.getCode())); remoteConsole.prepare(new ShowSample(containerCode)); @@ -131,8 +127,7 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase public final void testRegisterSharedSample() { final String sampleTypeCode = SampleTypeCode.CONTROL_LAYOUT.getCode(); - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.REGISTER); + loginAndGotoTab(ActionMenuKind.SAMPLE_MENU_NEW); remoteConsole.prepare(new ChooseTypeOfNewSample(sampleTypeCode)); final String description = "A very nice control layout."; remoteConsole.prepare(new FillSampleRegistrationForm( @@ -141,8 +136,7 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase description)).addProperty( new PropertyField(GenericSampleRegistrationForm.ID + "plate-geometry", "1536_WELLS_32X48"))); - remoteConsole.prepare(new OpenTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE, + remoteConsole.prepare(new OpenTab(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE, GenericSampleRegistrationForm.RegisterSampleCallback.class)); remoteConsole.prepare(new ListSamples(GroupSelectionWidget.SHARED_GROUP_CODE, sampleTypeCode)); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleViewerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleViewerTest.java index fe547bd9a0b01bc5781445e846089d3c49ff8349..758c8d6df6d609dfdbb27962d7940ab89e932697 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleViewerTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleViewerTest.java @@ -31,7 +31,7 @@ import com.extjs.gxt.ui.client.widget.grid.Grid; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Widget; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CategoriesBuilder; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ExternalDataModel; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.sample.CommonSampleColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data.columns.DataSetRow; @@ -60,8 +60,7 @@ public class GenericSampleViewerTest extends AbstractGWTTestCase public final void testShowMasterPlateView() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.SAMPLE_MENU_BROWSE); remoteConsole.prepare(new ListSamples("CISD", "CONTROL_LAYOUT")); remoteConsole.prepare(new ShowSample(CONTROL_LAYOUT_EXAMPLE)); final CheckSample checkSample = new CheckSample(GROUP_IDENTIFIER, CONTROL_LAYOUT_EXAMPLE); @@ -84,8 +83,7 @@ public class GenericSampleViewerTest extends AbstractGWTTestCase public final void testShowCellPlateView() { - loginAndGotoTab(CategoriesBuilder.MenuCategoryKind.SAMPLES, - CategoriesBuilder.MenuElementKind.BROWSE); + loginAndGotoTab(ActionMenuKind.SAMPLE_MENU_BROWSE); remoteConsole.prepare(new ListSamples("CISD", "CELL_PLATE")); remoteConsole.prepare(new ShowSample(CELL_PLATE_EXAMPLE)); final CheckSample checkSample = new CheckSample(GROUP_IDENTIFIER, CELL_PLATE_EXAMPLE); @@ -158,7 +156,7 @@ public class GenericSampleViewerTest extends AbstractGWTTestCase } }; } - + }); launchTest(60000);