From 666f06ef1d7986b80b7f58669763db6f61c030a1 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 15 Feb 2010 14:32:51 +0000 Subject: [PATCH] LMS-1364 IModule extended SVN: 14738 --- .../web/client/application/plugin/IModule.java | 15 ++++++++++++--- .../web/client/application/module/DemoModule.java | 7 +++++++ .../web/client/application/QueryModule.java | 7 +++++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IModule.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IModule.java index b84f99d0d0e..7fb20e77dd6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IModule.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IModule.java @@ -25,12 +25,21 @@ import com.google.gwt.user.client.ui.Widget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenuItem; /** - * Plugin that does not depend on entity kind and type. + * Plugin that does not depend on entity kind and type. All methods except + * {@link #initialize(AsyncCallback)} is invoked after invocation of the call back of the + * initialization method. * * @author Izabela Adamczyk */ public interface IModule { + /** + * Initializes the module and invoke method {@link AsyncCallback#onSuccess(Object)} on the + * specified call back after successful initialization. Otherwise + * {@link AsyncCallback#onFailure(Throwable)} is invoked. + */ + void initialize(AsyncCallback<Void> callback); + /** * Returns a widget that will be used as a top menu element. * <p> @@ -46,9 +55,9 @@ public interface IModule String getModuleName(); String getModuleDescription(); - + /** - * Returns a list with at least one menu item. + * Returns a list with menu items. The list empty if this module isn't applicable. */ List<Component> getMenuItems(); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/DemoModule.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/DemoModule.java index d0e180ba003..5bba0a7335b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/DemoModule.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/DemoModule.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.modul import java.util.List; import com.extjs.gxt.ui.client.widget.Component; +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.IViewContext; @@ -69,4 +70,10 @@ public class DemoModule implements IModule // TODO Auto-generated method stub return null; } + + public void initialize(AsyncCallback<Void> callback) + { + // TODO Auto-generated method stub + + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/QueryModule.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/QueryModule.java index 95503872fa6..7b764037d25 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/QueryModule.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/QueryModule.java @@ -20,6 +20,7 @@ import java.util.List; import com.extjs.gxt.ui.client.widget.Component; import com.extjs.gxt.ui.client.widget.button.Button; +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.IViewContext; @@ -63,4 +64,10 @@ public class QueryModule implements IModule return null; } + public void initialize(AsyncCallback<Void> callback) + { + // TODO Auto-generated method stub + + } + } -- GitLab