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 b84f99d0d0e0c21cf3d83276c00681f6be99f4b8..7fb20e77dd6f62b21a2e8bad9ae56281c2666715 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 d0e180ba0030ef5401a2aa1511d41a33cb3718e7..5bba0a7335ba3cf666e0a3dada3818251e6a4c20 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 95503872fa6ffefb5aa21cde7e0bf8af45044060..7b764037d252a512ae5608fbbbcccdb735d6fda6 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 + + } + }