From a29dc5e58ae2c804b71b82d4de4b307bbff6103d Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Thu, 12 Nov 2009 17:18:57 +0000
Subject: [PATCH] cleaned up system tests code (removed callback registrations)

SVN: 13364
---
 .../application/AbstractAsyncCallback.java    |  5 ++-
 .../AuthorizationManagementConsolTest.java    |  3 --
 .../EntityTypePropertyTypeAssignmentTest.java |  7 +---
 .../application/ProjectRegistrationTest.java  |  4 +-
 .../PropertyTypeRegistrationTest.java         |  4 +-
 .../client/application/SampleBrowserTest.java |  2 -
 .../web/client/application/SearchCommand.java |  2 +-
 .../application/VocabularyBrowserTest.java    |  1 -
 .../VocabularyRegistrationTest.java           |  4 +-
 .../application/ui/InvokeActionMenu.java      | 18 +--------
 .../application/ui/amc/FillAddPersonForm.java |  2 +-
 .../ui/amc/FillRoleAssignmentForm.java        |  4 +-
 .../application/ui/amc/RemovePerson.java      |  1 -
 .../ui/amc/ShowAuthorizationGroup.java        |  1 -
 .../application/ui/data/BrowseDataSet.java    |  2 -
 .../application/ui/data/ShowDataSet.java      |  1 -
 .../ui/data/ShowDataSetEditor.java            | 12 ------
 .../experiment/ChooseTypeOfNewExperiment.java |  1 -
 .../ui/experiment/ListExperiments.java        | 15 --------
 .../ui/experiment/ShowExperiment.java         |  1 -
 .../ui/experiment/ShowExperimentEditor.java   |  1 -
 .../filter/ApplyFilterCommand.java            |  6 ---
 .../filter/CheckFiltersTableCommand.java      |  3 --
 .../filter/OpenFilterSettingsCommand.java     |  2 -
 .../ui/material/ListMaterials.java            |  1 -
 .../project/FillProjectRegistrationForm.java  | 10 ++---
 .../FillPropertyTypeAssignmentForm.java       | 20 ----------
 .../FillPropertyTypeRegistrationForm.java     |  4 +-
 .../ui/sample/ChooseTypeOfNewSample.java      |  1 -
 .../ui/sample/ExportSamplesTestCommand.java   |  3 --
 .../application/ui/sample/ListSamples.java    |  4 --
 .../application/ui/sample/ShowSample.java     |  2 -
 .../ui/search/FillSearchCriteria.java         |  1 -
 .../AbstractDefaultTestCommand.java           | 31 +---------------
 .../ChangeTableColumnSettingsCommand.java     | 37 +++++++------------
 .../testframework/CheckTableCommand.java      | 22 +----------
 .../application/dataset/CheckDataSet.java     |  6 ---
 .../dataset/FillDataSetEditForm.java          |  2 -
 .../dataset/GenericDataSetEditorTest.java     |  5 ---
 .../experiment/CheckExperiment.java           |  6 ---
 .../experiment/DownloadAttachment.java        |  2 -
 .../experiment/FillExperimentEditForm.java    |  5 ---
 .../FillExperimentRegistrationForm.java       |  1 -
 ...nericExperimentAttachmentDownloadTest.java | 11 +-----
 .../GenericExperimentEditorTest.java          |  6 +--
 .../GenericExperimentRegistrationTest.java    |  6 +--
 .../GenericExperimentViewerTest.java          |  3 +-
 .../application/sample/CheckSample.java       | 10 +----
 .../sample/FillSampleRegistrationForm.java    |  9 +----
 .../sample/GenericSampleRegistrationTest.java | 27 ++++++--------
 50 files changed, 56 insertions(+), 281 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
index 5a46195772b..8033bb77f72 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractAsyncCallback.java
@@ -286,7 +286,10 @@ public abstract class AbstractAsyncCallback<T> implements AsyncCallback<T>
     }
 
     /**
-     * This method should be called for callbacks that are reusable. Call it just before calling
+     * NOTE: The basic rule is 'Never reuse a callback object: Instances of AbstractAsyncCallback
+     * are stateful'.
+     * <p>
+     * This method is only for special callbacks that are reusable. Call it just before calling
      * service method but make sure {@link #ignore()} was called first in callback constructor after
      * calling abstract constructor. It is needed for our system test framework to work properly.
      */
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 5dae7b713a4..cb9e06dafd6 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
@@ -17,7 +17,6 @@
 package ch.systemsx.cisd.openbis.generic.client.web.client.application;
 
 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.AddGroupDialog;
 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.CheckGroupTable;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.amc.CheckPersonTable;
@@ -55,7 +54,6 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase
         CreateGroup createGroupCommand = new CreateGroup(groupCode);
         remoteConsole.prepare(createGroupCommand);
         final CheckGroupTable table = new CheckGroupTable();
-        table.addCallbackClass(AddGroupDialog.SaveDialogCallback.class);
         table.expectedRow(new Row().withCell(GroupColDefKind.CODE.id(), groupCode.toUpperCase()));
         remoteConsole.prepare(table);
 
@@ -71,7 +69,6 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase
         CreatePerson command = new CreatePerson(userId);
         remoteConsole.prepare(command);
         final CheckPersonTable table = new CheckPersonTable();
-        table.addCallbackClass(AddPersonDialog.SaveDialogCallback.class);
         table.expectedRow(new Row().withCell(PersonColDefKind.USER_ID.id(), userId));
         remoteConsole.prepare(table);
 
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 4eb56316c8e..9e8231727f5 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
@@ -22,7 +22,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns
 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.application.ui.property_type.FillPropertyTypeAssignmentForm;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.property_type.PropertyTypeAssignmentForm;
 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.ListSamples;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample.columns.SampleRow;
@@ -64,8 +63,7 @@ public class EntityTypePropertyTypeAssignmentTest extends AbstractGWTTestCase
             String entityTypeCode, EntityKind entityKind, int expectedEntries, boolean isMandatory)
     {
         remoteConsole.prepare(new InvokeActionMenu(
-                ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS,
-                PropertyTypeAssignmentForm.AssignPropertyTypeCallback.class));
+                ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_ASSIGNMENTS));
         CheckPropertyTypeAssignmentTable table = new CheckPropertyTypeAssignmentTable();
         table.expectedRow(new Row().withCell(PropertyTypeAssignmentColDefKind.LABEL.id(),
                 propertyTypeLabel).withCell(PropertyTypeAssignmentColDefKind.ENTITY_TYPE_CODE.id(),
@@ -101,8 +99,7 @@ public class EntityTypePropertyTypeAssignmentTest extends AbstractGWTTestCase
         loginAndInvokeAction(ActionMenuKind.PROPERTY_TYPES_MENU_ASSIGN_TO_SAMPLE_TYPE);
         remoteConsole.prepare(new FillPropertyTypeAssignmentForm(false, COMMENT, CONTROL_LAYOUT,
                 NO_COMMENT, SAMPLE));
-        remoteConsole.prepare(new InvokeActionMenu(ActionMenuKind.SAMPLE_MENU_BROWSE,
-                PropertyTypeAssignmentForm.AssignPropertyTypeCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(ActionMenuKind.SAMPLE_MENU_BROWSE));
         remoteConsole.prepare(new ListSamples(CISD, CONTROL_LAYOUT));
         CheckSampleTable table = new CheckSampleTable();
         table.expectedRow(new SampleRow(CONTROL_LAYOUT_C1).identifier(CISD, CISD).valid()
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 6d19d72d430..d74468fae8c 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
@@ -21,7 +21,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.InvokeA
 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;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.project.FillProjectRegistrationForm;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.project.ProjectRegistrationForm;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.Row;
 
@@ -42,8 +41,7 @@ public class ProjectRegistrationTest extends AbstractGWTTestCase
         remoteConsole.prepare(new FillProjectRegistrationForm(PROJECT_CODE_HER_MAJESTY, "CISD",
                 DESCRIPTION_PROJECT_007));
 
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.PROJECT_MENU_BROWSE,
-                ProjectRegistrationForm.ProjectRegistrationCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.PROJECT_MENU_BROWSE));
         final CheckProjectTable table = new CheckProjectTable();
         table.expectedRow(new Row().withCell(ProjectColDefKind.CODE.id(), PROJECT_CODE_HER_MAJESTY)
                 .withCell(ProjectColDefKind.DESCRIPTION.id(), DESCRIPTION_PROJECT_007));
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 3ebce52dfbf..de6bf8c7ab3 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
@@ -21,7 +21,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.InvokeA
 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.application.ui.property_type.FillPropertyTypeRegistrationForm;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.property_type.PropertyTypeRegistrationForm;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.Row;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
@@ -49,8 +48,7 @@ public class PropertyTypeRegistrationTest extends AbstractGWTTestCase
         remoteConsole.prepare(createFillPropertyTypeRegistrationForm());
 
         remoteConsole.prepare(new InvokeActionMenu(
-                ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES,
-                PropertyTypeRegistrationForm.PropertyTypeRegistrationCallback.class));
+                ActionMenuKind.PROPERTY_TYPES_MENU_BROWSE_PROPERTY_TYPES));
         final CheckPropertyTypeTable table = new CheckPropertyTypeTable();
         table.expectedRow(new Row().withCell(PropertyTypeColDefKind.CODE.id(), PROPERTY_TYPE_CODE));
         remoteConsole.prepare(table.expectedSize(17));
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 dff20e0a6d7..cff83d97698 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
@@ -19,7 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application;
 import static ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.AbstractColumnDefinitionKind.DEFAULT_COLUMN_WIDTH;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.user.action.LogoutAction.LogoutCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.GroupSelectionWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.InvokeActionMenu;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.Login;
@@ -56,7 +55,6 @@ public class SampleBrowserTest extends AbstractGWTTestCase
         remoteConsole.prepare(settingsCommand);
         remoteConsole.prepare(new Logout(SampleBrowserGrid.GRID_ID));
         Login login = new Login("test", "a");
-        login.addCallbackClass(LogoutCallback.class);
         remoteConsole.prepare(login);
         remoteConsole.prepare(new InvokeActionMenu(ActionMenuKind.SAMPLE_MENU_BROWSE));
         remoteConsole.prepare(new ListSamples("CISD", "MASTER_PLATE"));
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SearchCommand.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SearchCommand.java
index 8b42ce00e13..f2bfee61dbd 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SearchCommand.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SearchCommand.java
@@ -50,7 +50,7 @@ final class SearchCommand extends AbstractDefaultTestCommand
 
     SearchCommand(final String selectedEntityOrNull, final String searchString)
     {
-        super(SearchableEntitySelectionWidget.ListSearchableEntities.class);
+        super();
         this.selectedEntity = selectedEntityOrNull == null ? "All" : selectedEntityOrNull;
         this.searchString = searchString;
     }
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 9ae97d4eeea..c2bbab5d85e 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
@@ -87,7 +87,6 @@ public class VocabularyBrowserTest extends AbstractGWTTestCase
 
         public ShowVocabularyTerms(final String vocabularyCode)
         {
-            addCallbackClass(VocabularyGrid.GRID_ID);
             this.vocabularyCode = vocabularyCode;
         }
 
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 33c52898581..750d49e8df2 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
@@ -20,7 +20,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMe
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenu.ActionMenuKind;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.InvokeActionMenu;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.vocabulary.FillVocabularyRegistrationForm;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.vocabulary.VocabularyRegistrationForm;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase;
 
 /**
@@ -44,8 +43,7 @@ public class VocabularyRegistrationTest extends AbstractGWTTestCase
         loginAndInvokeAction(ActionMenuKind.VOCABULARY_MENU_NEW);
         remoteConsole.prepare(new FillVocabularyRegistrationForm(VOCABULARY_CODE, DESCRIPTION,
                 TERMS));
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.VOCABULARY_MENU_BROWSE,
-                VocabularyRegistrationForm.VocabularyRegistrationCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.VOCABULARY_MENU_BROWSE));
         VocabularyBrowserTest.showControlledVocabularyTerms(remoteConsole, VOCABULARY_CODE, 3,
                 TERMS);
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/InvokeActionMenu.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/InvokeActionMenu.java
index 8a6d2fe0928..0e1ce7b9544 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/InvokeActionMenu.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/InvokeActionMenu.java
@@ -16,9 +16,6 @@
 
 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.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;
@@ -35,22 +32,9 @@ public final class InvokeActionMenu extends AbstractDefaultTestCommand
 {
     private final ActionMenuKind action;
 
-    public InvokeActionMenu(final ActionMenuKind action,
-            final Class<? extends AsyncCallback<?>> callbackClass)
-    {
-        if (callbackClass == null)
-        {
-            addCallbackClass(SessionContextCallback.class);
-        } else
-        {
-            addCallbackClass(callbackClass);
-        }
-        this.action = action;
-    }
-
     public InvokeActionMenu(final ActionMenuKind action)
     {
-        this(action, null);
+        this.action = action;
     }
 
     //
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/FillAddPersonForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/FillAddPersonForm.java
index 19709541e88..758f997e850 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/FillAddPersonForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/FillAddPersonForm.java
@@ -55,7 +55,7 @@ public class FillAddPersonForm extends AbstractDefaultTestCommand
     private FillAddPersonForm(final boolean singleUser, final List<String> codes,
             AuthorizationGroup authGroup)
     {
-        super(PersonSelectionWidget.ListItemsCallback.class);
+        super();
         assert codes.size() == 1 || singleUser == false;
         authorizationGroup = authGroup;
         this.singleUser = singleUser;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/FillRoleAssignmentForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/FillRoleAssignmentForm.java
index 1b82379af22..f9acc8cca18 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/FillRoleAssignmentForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/FillRoleAssignmentForm.java
@@ -57,12 +57,10 @@ public class FillRoleAssignmentForm extends AbstractDefaultTestCommand
     private FillRoleAssignmentForm(final boolean personRole, final String groupNameOrNull,
             final String grantee, final String roleNameOrNull)
     {
-        super(PersonSelectionWidget.ListItemsCallback.class);
+        super();
         this.personRole = personRole;
         assert groupNameOrNull == null && roleNameOrNull == null || groupNameOrNull != null
                 && roleNameOrNull != null;
-        addCallbackClass(GroupSelectionWidget.ListGroupsCallback.class);
-        addCallbackClass(AuthorizationGroupSelectionWidget.ListItemsCallback.class);
         this.groupNameOrNull = groupNameOrNull;
         this.grantee = grantee;
         this.roleNameOrNull = roleNameOrNull;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/RemovePerson.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/RemovePerson.java
index c20c05f95bc..b5d2a12cde9 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/RemovePerson.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/RemovePerson.java
@@ -42,7 +42,6 @@ public class RemovePerson extends AbstractDefaultTestCommand
 
     public RemovePerson(AuthorizationGroup authGroup, final String personId)
     {
-        addCallbackClass(PersonGrid.createGridId(authGroup));
         this.authGroup = authGroup;
         this.person = personId;
     }
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/ShowAuthorizationGroup.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/ShowAuthorizationGroup.java
index 2eeef51efb7..66e7b369d4c 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/ShowAuthorizationGroup.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/ShowAuthorizationGroup.java
@@ -40,7 +40,6 @@ public class ShowAuthorizationGroup extends AbstractDefaultTestCommand
     public ShowAuthorizationGroup(final String authGroupCode)
     {
         this.code = authGroupCode;
-        addCallbackClass(AuthorizationGroupGrid.GRID_ID);
     }
 
     @SuppressWarnings("unchecked")
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/BrowseDataSet.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/BrowseDataSet.java
index 3509845bd03..c77d76775cd 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/BrowseDataSet.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/BrowseDataSet.java
@@ -51,8 +51,6 @@ public final class BrowseDataSet extends AbstractDefaultTestCommand
         this.code = code;
         this.id = TechId.createWildcardTechId();
         this.cancelDispatch = cancelDispatch;
-
-        addCallbackClass(GenericDataSetViewer.DataSetInfoCallback.class);
     }
 
     public void execute()
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/ShowDataSet.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/ShowDataSet.java
index e56489f9cc2..083df76722c 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/ShowDataSet.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/ShowDataSet.java
@@ -40,7 +40,6 @@ public class ShowDataSet extends AbstractDefaultTestCommand
     public ShowDataSet(final String code)
     {
         this.code = code;
-        addCallbackClass(DataSetSearchHitGrid.GRID_ID);
     }
 
     @SuppressWarnings("unchecked")
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/ShowDataSetEditor.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/ShowDataSetEditor.java
index 05c2c99df2c..05d2ac00c3e 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/ShowDataSetEditor.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/ShowDataSetEditor.java
@@ -16,14 +16,10 @@
 
 package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data;
 
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.entity.PropertyTypesCriteriaProvider.ListPropertyTypesCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetRelationshipRole;
-import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.dataset.DataSetRelationshipBrowser;
 import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.dataset.GenericDataSetViewer;
-import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.dataset.GenericDataSetViewer.DataSetInfoCallback;
 
 /**
  * @author Piotr Buczek
@@ -47,14 +43,6 @@ public class ShowDataSetEditor extends AbstractDefaultTestCommand
     private ShowDataSetEditor(final TechId dataSetId)
     {
         this.dataSetId = dataSetId;
-        addCallbackClass(DataSetInfoCallback.class);
-        addCallbackClass(ListPropertyTypesCallback.class);
-        final String childrenGridId =
-                DataSetRelationshipBrowser.createGridId(dataSetId, DataSetRelationshipRole.PARENT);
-        final String parentsGridId =
-                DataSetRelationshipBrowser.createGridId(dataSetId, DataSetRelationshipRole.CHILD);
-        addCallbackClass(childrenGridId);
-        addCallbackClass(parentsGridId);
     }
 
     public void execute()
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ChooseTypeOfNewExperiment.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ChooseTypeOfNewExperiment.java
index 25d96448664..a4321e17635 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ChooseTypeOfNewExperiment.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ChooseTypeOfNewExperiment.java
@@ -36,7 +36,6 @@ public final class ChooseTypeOfNewExperiment extends AbstractDefaultTestCommand
     public ChooseTypeOfNewExperiment(final String experimentTypeNameOrNull)
     {
         this.experimentTypeNameOrNull = experimentTypeNameOrNull;
-        addCallbackClass(ExperimentTypeSelectionWidget.ListItemsCallback.class);
     }
 
     //
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ListExperiments.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ListExperiments.java
index 7c56bbbc3d7..dbbac957708 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ListExperiments.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ListExperiments.java
@@ -17,7 +17,6 @@
 package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment;
 
 import com.extjs.gxt.ui.client.widget.form.ComboBox;
-import com.google.gwt.user.client.rpc.AsyncCallback;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ExperimentTypeModel;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames;
@@ -38,23 +37,9 @@ public class ListExperiments extends AbstractDefaultTestCommand
     private final String experimentTypeNameOrNull;
 
     public ListExperiments(final String projectNameOrNull, final String experimentTypeNameOrNull)
-    {
-        this(projectNameOrNull, experimentTypeNameOrNull, null);
-    }
-
-    public ListExperiments(final String projectNameOrNull, final String experimentTypeNameOrNull,
-            Class<? extends AsyncCallback<?>> callback)
     {
         this.projectCodeOrNull = projectNameOrNull;
         this.experimentTypeNameOrNull = experimentTypeNameOrNull;
-        if (callback != null)
-        {
-            addCallbackClass(callback);
-        } else
-        {
-            addCallbackClass(ProjectSelectionTreeWidget.ListProjectsCallback.class);
-            addCallbackClass(ExperimentTypeSelectionWidget.ListItemsCallback.class);
-        }
     }
 
     //
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ShowExperiment.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ShowExperiment.java
index b468a2b7823..d48e15ce9d8 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ShowExperiment.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ShowExperiment.java
@@ -39,7 +39,6 @@ public class ShowExperiment extends AbstractDefaultTestCommand
     public ShowExperiment(final String code)
     {
         this.code = code;
-        addCallbackClass(ExperimentBrowserGrid.GRID_ID);
     }
 
     @SuppressWarnings("unchecked")
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ShowExperimentEditor.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ShowExperimentEditor.java
index 54e0a623bdf..a3a56847436 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ShowExperimentEditor.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ShowExperimentEditor.java
@@ -36,7 +36,6 @@ public class ShowExperimentEditor extends AbstractDefaultTestCommand
     private ShowExperimentEditor(final TechId experimentId)
     {
         this.experimentId = experimentId;
-        addCallbackClass(GenericExperimentViewer.ExperimentInfoCallback.class);
     }
 
     public void execute()
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/ApplyFilterCommand.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/ApplyFilterCommand.java
index 1b08472bccc..eb021664aee 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/ApplyFilterCommand.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/ApplyFilterCommand.java
@@ -19,9 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.e
 import com.extjs.gxt.ui.client.widget.form.ComboBox;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter.FilterModel;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter.FilterSelectionWidget;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter.FilterToolbar;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil;
@@ -40,9 +37,6 @@ public class ApplyFilterCommand extends AbstractDefaultTestCommand
 
     public ApplyFilterCommand(String gridId, String filterName)
     {
-        addCallbackClass(FilterSelectionWidget.createCallbackId());
-        // See DropDownList#refreshStore()
-        addCallbackClass(FilterSelectionWidget.createCallbackId());
         this.gridId = gridId;
         this.filterName = filterName;
     }
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/CheckFiltersTableCommand.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/CheckFiltersTableCommand.java
index db0e890d6b7..64db82c1ed9 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/CheckFiltersTableCommand.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/CheckFiltersTableCommand.java
@@ -17,8 +17,6 @@
 package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ColumnSettingsDialog;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter.GridCustomFilterGrid;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.AbstractSaveDialog;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.CheckTableCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil;
 
@@ -35,7 +33,6 @@ public class CheckFiltersTableCommand extends CheckTableCommand
     public CheckFiltersTableCommand(String gridDisplayId)
     {
         super(GridCustomFilterGrid.createGridId(gridDisplayId));
-        addCallbackClass(AbstractSaveDialog.SaveDialogCallback.class);
         this.gridDisplayId = gridDisplayId;
     }
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/OpenFilterSettingsCommand.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/OpenFilterSettingsCommand.java
index bb2a7b7f8cf..3104346dd9a 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/OpenFilterSettingsCommand.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/OpenFilterSettingsCommand.java
@@ -18,7 +18,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.e
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.BrowserGridPagingToolBar;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ColumnSettingsDialog;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter.FilterSelectionWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.CheckTableCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil;
 
@@ -39,7 +38,6 @@ public class OpenFilterSettingsCommand extends CheckTableCommand
     public OpenFilterSettingsCommand(String gridId, String gridDisplayId)
     {
         super(gridId);
-        addCallbackClass(FilterSelectionWidget.createCallbackId());
         this.gridId = gridId;
         this.gridDisplayId = gridDisplayId;
     }
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/ListMaterials.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/ListMaterials.java
index 9d28efd0df2..b95ddcd777e 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/ListMaterials.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/ListMaterials.java
@@ -36,7 +36,6 @@ public class ListMaterials extends AbstractDefaultTestCommand
     public ListMaterials(final String materialTypeNameOrNull)
     {
         this.materialTypeName = materialTypeNameOrNull;
-        addCallbackClass(MaterialTypeSelectionWidget.ListItemsCallback.class);
     }
 
     //
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/project/FillProjectRegistrationForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/project/FillProjectRegistrationForm.java
index cb83cfe26fb..40e8a14d369 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/project/FillProjectRegistrationForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/project/FillProjectRegistrationForm.java
@@ -24,7 +24,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.Abstract
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil;
 
 /**
- * A {@link AbstractDefaultTestCommand} extension for filling {@link AbstractProjectEditRegisterForm}.
+ * A {@link AbstractDefaultTestCommand} extension for filling
+ * {@link AbstractProjectEditRegisterForm}.
  * 
  * @author Izabela Adamczyk
  */
@@ -45,7 +46,6 @@ public final class FillProjectRegistrationForm extends AbstractDefaultTestComman
         this.code = projectCode;
         this.groupName = groupName;
         this.description = description;
-        addCallbackClass(GroupSelectionWidget.ListGroupsCallback.class);
     }
 
     //
@@ -55,11 +55,11 @@ public final class FillProjectRegistrationForm extends AbstractDefaultTestComman
     public final void execute()
     {
         GWTTestUtil.setTextField(ProjectRegistrationForm.createId() + "_code", code);
-        GWTTestUtil.setTextField(ProjectRegistrationForm.createId() + "_description",
-                description);
+        GWTTestUtil.setTextField(ProjectRegistrationForm.createId() + "_description", description);
         final GroupSelectionWidget groupSelector =
                 (GroupSelectionWidget) GWTTestUtil.getWidgetWithID(GroupSelectionWidget.ID
-                        + GroupSelectionWidget.SUFFIX + AbstractProjectEditRegisterForm.createId(null));
+                        + GroupSelectionWidget.SUFFIX
+                        + AbstractProjectEditRegisterForm.createId(null));
         GWTUtils.setSelectedItem(groupSelector, ModelDataPropertyNames.CODE, groupName);
 
         GWTTestUtil.clickButtonWithID(ProjectRegistrationForm.createId()
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/FillPropertyTypeAssignmentForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/FillPropertyTypeAssignmentForm.java
index 526485909a1..dd17cafb8ad 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/FillPropertyTypeAssignmentForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/FillPropertyTypeAssignmentForm.java
@@ -63,26 +63,6 @@ public final class FillPropertyTypeAssignmentForm extends AbstractDefaultTestCom
         this.defaultValue = defaultValue;
         this.entityKind = entityKind;
         widgetId = PropertyTypeAssignmentForm.ID_PREFIX + entityKind;
-        addCallbackClass(PropertyTypeSelectionWidget.ListPropertyTypesCallback.class);
-        addEntityTypeCallback();
-    }
-
-    private void addEntityTypeCallback()
-    {
-        if (entityKind.equals(EntityKind.EXPERIMENT))
-        {
-            addCallbackClass(ExperimentTypeSelectionWidget.ListItemsCallback.class);
-        } else if (entityKind.equals(EntityKind.SAMPLE))
-        {
-            addCallbackClass(SampleTypeSelectionWidget.ListItemsCallback.class);
-        } else if (entityKind.equals(EntityKind.DATA_SET))
-        {
-            addCallbackClass(DataSetTypeSelectionWidget.ListItemsCallback.class);
-        } else
-        {
-            throw new IllegalArgumentException();
-        }
-
     }
 
     public final void execute()
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/FillPropertyTypeRegistrationForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/FillPropertyTypeRegistrationForm.java
index 0049feba90c..0af22ed8c7b 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/FillPropertyTypeRegistrationForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/FillPropertyTypeRegistrationForm.java
@@ -54,7 +54,6 @@ public final class FillPropertyTypeRegistrationForm extends AbstractDefaultTestC
         this.label = label;
         this.description = description;
         this.dataTypeCode = dataTypeCode;
-        addCallbackClass(DataTypeSelectionWidget.ListDataTypesCallback.class);
     }
 
     //
@@ -65,8 +64,7 @@ public final class FillPropertyTypeRegistrationForm extends AbstractDefaultTestC
     {
         GWTTestUtil.setTextField(PropertyTypeRegistrationForm.ID + "_code", code);
         GWTTestUtil.setTextField(PropertyTypeRegistrationForm.ID + "_label", label);
-        GWTTestUtil
-                .setTextField(PropertyTypeRegistrationForm.ID + "_description", description);
+        GWTTestUtil.setTextField(PropertyTypeRegistrationForm.ID + "_description", description);
         final Widget widgetWithID =
                 GWTTestUtil.getWidgetWithID(DataTypeSelectionWidget.ID
                         + DataTypeSelectionWidget.SUFFIX);
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ChooseTypeOfNewSample.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ChooseTypeOfNewSample.java
index a8514e86ecd..9a9179ca89b 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ChooseTypeOfNewSample.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ChooseTypeOfNewSample.java
@@ -36,7 +36,6 @@ public final class ChooseTypeOfNewSample extends AbstractDefaultTestCommand
     public ChooseTypeOfNewSample(final String sampleTypeNameOrNull)
     {
         this.sampleTypeNameOrNull = sampleTypeNameOrNull;
-        addCallbackClass(SampleTypeSelectionWidget.ListItemsCallback.class);
     }
 
     //
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ExportSamplesTestCommand.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ExportSamplesTestCommand.java
index 6d2dd465aa0..142c204df99 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ExportSamplesTestCommand.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ExportSamplesTestCommand.java
@@ -47,7 +47,6 @@ public class ExportSamplesTestCommand extends AbstractDefaultTestCommand
     {
         this.client = client;
         this.receivedExportedFileContent = null;
-        addCallbackClass(SampleBrowserGrid.GRID_ID);
     }
 
     public void execute()
@@ -124,8 +123,6 @@ public class ExportSamplesTestCommand extends AbstractDefaultTestCommand
             this.expectedHeader = expectedHeader;
             this.expectedFirstLineOrNull = expectedFirstLineOrNull;
             this.expectedTotalLines = expectedTotalLines;
-            addCallbackClass(PrepareExportSamplesCallbackTest.class);
-            addCallbackClass(SaveExportedContentCallbackTest.class);
         }
 
         public void execute()
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ListSamples.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ListSamples.java
index eb4f7bd51ce..1fb45d73a4b 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ListSamples.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ListSamples.java
@@ -40,10 +40,6 @@ public class ListSamples extends AbstractDefaultTestCommand
     {
         this.groupNameOrNull = groupNameOrNull;
         this.sampleTypeNameOrNull = sampleTypeNameOrNull;
-        addCallbackClass(GroupSelectionWidget.ListGroupsCallback.class);
-        addCallbackClass(SampleTypeSelectionWidget.ListItemsCallback.class);
-        // grid is displayed automatically as home group and 'all' sample type are selected
-        addCallbackClass(SampleBrowserGrid.GRID_ID);
     }
 
     //
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ShowSample.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ShowSample.java
index 6dfcf217a23..978d0900153 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ShowSample.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ShowSample.java
@@ -21,7 +21,6 @@ import com.google.gwt.user.client.ui.Widget;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.BaseEntityModel;
 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.sample.SampleBrowserGrid;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.util.GridTestUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil;
@@ -40,7 +39,6 @@ public final class ShowSample extends AbstractDefaultTestCommand
     public ShowSample(final String code)
     {
         this.code = code;
-        addCallbackClass(SampleBrowserGrid.GRID_ID);
     }
 
     @SuppressWarnings("unchecked")
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/search/FillSearchCriteria.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/search/FillSearchCriteria.java
index f70d29f50a7..b42c686754f 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/search/FillSearchCriteria.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/search/FillSearchCriteria.java
@@ -57,7 +57,6 @@ public final class FillSearchCriteria extends AbstractDefaultTestCommand
         criteria = new ArrayList<Criterion>();
         criteriaDefined = false;
         matchAll();
-        addCallbackClass(DetailedSearchFieldsSelectionWidget.ListPropertyTypesCallback.class);
     }
 
     public FillSearchCriteria matchAll()
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractDefaultTestCommand.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractDefaultTestCommand.java
index 40ff465b348..f0e8c9e809a 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractDefaultTestCommand.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/AbstractDefaultTestCommand.java
@@ -18,15 +18,11 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.testframework;
 
 import junit.framework.Assert;
 
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
 
 /**
  * Abstract super class of all test commands which are executed if there are no active callbacks
  * (all callbacks were detected by {@link RemoteConsole}).
- * <p>
- * NOTE: Expected callbacks are now completely ignored.
  * 
  * @author Franz-Josef Elmer
  * @author Piotr Buczek
@@ -34,37 +30,12 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAs
 public abstract class AbstractDefaultTestCommand extends Assert implements ITestCommand
 {
     /**
-     * Creates an instance with initially no expected callback class.
+     * Creates an instance of command.
      */
     public AbstractDefaultTestCommand()
     {
     }
 
-    /**
-     * Creates an instance for the specified callback class.
-     */
-    public AbstractDefaultTestCommand(final Class<? extends AsyncCallback<?>> callbackClass)
-    {
-        addCallbackClass(callbackClass);
-    }
-
-    /**
-     * Adds the specified callback classes.
-     */
-    public void addCallbackClass(final Class<? extends AsyncCallback<?>> callbackClass)
-    {
-        addCallbackClass(callbackClass.getName());
-    }
-
-    /**
-     * Adds the callback with the specified id.
-     */
-    // TODO 2009-11-11, Franz-Josef Elmer: Remove this method because expected callbacks are now completely ignored.
-    public void addCallbackClass(final String callbackId)
-    {
-        // ignored
-    }
-
     public boolean isValidOnSucess(Object result)
     {
         return true; // if previous command succeeded this command should be executed
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/ChangeTableColumnSettingsCommand.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/ChangeTableColumnSettingsCommand.java
index fde9d942a65..ced053b5e62 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/ChangeTableColumnSettingsCommand.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/ChangeTableColumnSettingsCommand.java
@@ -25,11 +25,10 @@ import com.extjs.gxt.ui.client.event.ColumnModelEvent;
 import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
 import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
 import com.extjs.gxt.ui.client.widget.grid.Grid;
-import com.google.gwt.user.client.rpc.AsyncCallback;
 
 /**
  * {@link ITestCommand} which allows to modify column settings of a {@link Grid}.
- *
+ * 
  * @author Franz-Josef Elmer
  */
 public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
@@ -37,6 +36,7 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
     private static abstract class Event
     {
         private final int eventType;
+
         protected final String columnID;
 
         Event(int eventType, String columnID)
@@ -49,7 +49,7 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
         {
             return eventType;
         }
-        
+
         protected ColumnModelEvent createColumnModelEvent(ColumnModel columnModel)
         {
             int index = columnModel.getIndexById(columnID);
@@ -60,7 +60,7 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
             ColumnModelEvent event = new ColumnModelEvent(columnModel, index);
             return event;
         }
-        
+
         protected ColumnConfig getColumnConfig(ColumnModel columnModel)
         {
             ColumnConfig columnConfig = columnModel.getColumnById(columnID);
@@ -70,10 +70,10 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
             }
             return columnConfig;
         }
-        
+
         public abstract BaseEvent changeModelAndCreateEvent(ColumnModel columnModel);
     }
-        
+
     private static final class HiddenChangeEvent extends Event
     {
         private final boolean hidden;
@@ -93,7 +93,7 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
             return event;
         }
     }
-    
+
     private static final class WidthChangeEvent extends Event
     {
         private final int width;
@@ -103,7 +103,7 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
             super(Events.WidthChange, columnID);
             this.width = width;
         }
-        
+
         @Override
         public BaseEvent changeModelAndCreateEvent(ColumnModel columnModel)
         {
@@ -113,10 +113,11 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
             return event;
         }
     }
-    
+
     private final String tableID;
+
     private final List<Event> events = new ArrayList<Event>();
-    
+
     /**
      * Creates an instance for the specified table or grid ID.
      */
@@ -126,17 +127,6 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
         this.tableID = tableID;
     }
 
-    /**
-     * Creates an instance for the specified table or grid ID and the specified class of the
-     * triggering call-back object.
-     */
-    public ChangeTableColumnSettingsCommand(final String tableID,
-            final Class<? extends AsyncCallback<?>> callbackClass)
-    {
-        super(callbackClass);
-        this.tableID = tableID;
-    }
-    
     /**
      * Adds an event which sets the hiding flag of the specified column.
      */
@@ -154,7 +144,7 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
         events.add(new WidthChangeEvent(columnID, width));
         return this;
     }
-    
+
     /**
      * Executes the column changing events in the order they had been added.
      */
@@ -163,7 +153,8 @@ public class ChangeTableColumnSettingsCommand extends AbstractDefaultTestCommand
         ColumnModel columnModel = GWTTestUtil.getGridWithID(tableID).getColumnModel();
         for (Event event : events)
         {
-            columnModel.fireEvent(event.getEventType(), event.changeModelAndCreateEvent(columnModel));
+            columnModel.fireEvent(event.getEventType(), event
+                    .changeModelAndCreateEvent(columnModel));
         }
     }
 }
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/CheckTableCommand.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/CheckTableCommand.java
index 3f22c5cb94e..b38b162a02e 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/CheckTableCommand.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/testframework/CheckTableCommand.java
@@ -109,30 +109,10 @@ public class CheckTableCommand extends AbstractDefaultTestCommand
     private final List<Row> unexpectedRows = new ArrayList<Row>();
 
     /**
-     * Creates an instance for the specified table or grid ID which does not wait for any callbacks.
-     */
-    public static CheckTableCommand createWithoutCallback(final String gridId)
-    {
-        return new CheckTableCommand(gridId, false);
-    }
-
-    /**
-     * Creates an instance for the specified table or grid ID and using the appropriate call-back
-     * object responsible for grid refresh.
+     * Creates an instance for the specified table or grid ID.
      */
     public CheckTableCommand(final String gridId)
     {
-        this(gridId, true);
-    }
-
-    private CheckTableCommand(final String gridId, boolean withCallback)
-    {
-        if (withCallback)
-        {
-            // NOTE: here we use the knowledge that AbstractBrowserGrid.ListEntitiesCallback uses
-            // grid id as a callback identifier.
-            addCallbackClass(gridId);
-        }
         this.gridID = gridId;
     }
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/CheckDataSet.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/CheckDataSet.java
index a7b1c8e0fc4..79a8e56be09 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/CheckDataSet.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/CheckDataSet.java
@@ -16,7 +16,6 @@
 
 package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.dataset;
 
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.entity.PropertyTypesCriteriaProvider.ListPropertyTypesCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.CheckTableCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.IPropertyChecker;
@@ -24,7 +23,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.IValueAs
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.PropertyCheckingManager;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetRelationshipRole;
-import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.dataset.GenericDataSetViewer.DataSetInfoCallback;
 
 /**
  * * {@link AbstractDefaultTestCommand} extension checking e.g. properties displayed in data set
@@ -61,10 +59,6 @@ public class CheckDataSet extends AbstractDefaultTestCommand implements
                 DataSetRelationshipBrowser.createGridId(datasetId, DataSetRelationshipRole.PARENT);
         this.parentsGridId =
                 DataSetRelationshipBrowser.createGridId(datasetId, DataSetRelationshipRole.CHILD);
-        addCallbackClass(DataSetInfoCallback.class);
-        addCallbackClass(ListPropertyTypesCallback.class);
-        addCallbackClass(childrenGridId);
-        addCallbackClass(parentsGridId);
     }
 
     public Property property(final String name)
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/FillDataSetEditForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/FillDataSetEditForm.java
index b942fd53f87..01927c9bcfb 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/FillDataSetEditForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/FillDataSetEditForm.java
@@ -58,8 +58,6 @@ public final class FillDataSetEditForm extends AbstractDefaultTestCommand
     {
         this.formId = GenericDataSetEditForm.createId(dataSetId, EntityKind.DATA_SET);
         this.properties = new ArrayList<PropertyField>();
-        addCallbackClass(GenericDataSetEditForm.DataSetInfoCallback.class);
-        addCallbackClass(GenericDataSetEditForm.ListParentsCallback.class);
     }
 
     public final FillDataSetEditForm addProperty(final PropertyField property)
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/GenericDataSetEditorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/GenericDataSetEditorTest.java
index edcf9dd19a4..4acc8eb8e00 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/GenericDataSetEditorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/GenericDataSetEditorTest.java
@@ -104,11 +104,6 @@ public class GenericDataSetEditorTest extends AbstractGWTTestCase
 
     private class ShowUpdatedDataSet extends AbstractDefaultTestCommand
     {
-        public ShowUpdatedDataSet()
-        {
-            addCallbackClass(GenericDataSetEditForm.UpdateDataSetCallback.class);
-        }
-
         public void execute()
         {
             String tabItemId =
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/CheckExperiment.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/CheckExperiment.java
index 5a6f7e8fd33..19007383f94 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/CheckExperiment.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/CheckExperiment.java
@@ -17,7 +17,6 @@
 package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.attachment.AttachmentBrowser;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.entity.PropertyTypesCriteriaProvider.ListPropertyTypesCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.CheckTableCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.IPropertyChecker;
@@ -25,7 +24,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.IValueAs
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.PropertyCheckingManager;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentHolderKind;
-import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment.GenericExperimentViewer.ExperimentInfoCallback;
 
 /**
  * @author Izabela Adamczyk
@@ -51,10 +49,6 @@ public class CheckExperiment extends AbstractDefaultTestCommand implements
     {
         this.experimentId = experimentId;
         propertyCheckingManager = new PropertyCheckingManager();
-        addCallbackClass(ExperimentInfoCallback.class);
-        addCallbackClass(ExperimentSamplesSection.createGridId(experimentId));
-        addCallbackClass(ExperimentDataSetBrowser.createGridId(experimentId));
-        addCallbackClass(ListPropertyTypesCallback.class);
     }
 
     public Property property(final String name)
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/DownloadAttachment.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/DownloadAttachment.java
index 81868510f1f..dcc5f67ffeb 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/DownloadAttachment.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/DownloadAttachment.java
@@ -44,8 +44,6 @@ public class DownloadAttachment extends AbstractDefaultTestCommand
     {
         this.fileName = fileName;
         this.experimentId = experimentId;
-        addCallbackClass(AttachmentBrowser.createGridId(experimentId,
-                AttachmentHolderKind.EXPERIMENT));
     }
 
     @SuppressWarnings("unchecked")
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/FillExperimentEditForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/FillExperimentEditForm.java
index 64e8b983819..7ee8d89af5c 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/FillExperimentEditForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/FillExperimentEditForm.java
@@ -25,7 +25,6 @@ import com.google.gwt.user.client.ui.Widget;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.AbstractRegistrationForm;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentTypeSelectionWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ProjectSelectionWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
@@ -58,10 +57,6 @@ public final class FillExperimentEditForm extends AbstractDefaultTestCommand
     {
         this.formId = GenericExperimentEditForm.createId(experimentId, EntityKind.EXPERIMENT);
         this.properties = new ArrayList<PropertyField>();
-        addCallbackClass(GenericExperimentEditForm.ExperimentInfoCallback.class);
-        addCallbackClass(GenericExperimentEditForm.ListSamplesCallback.class);
-        addCallbackClass(ProjectSelectionWidget.ListProjectsCallback.class);
-        addCallbackClass(ExperimentTypeSelectionWidget.ListItemsCallback.class);
     }
 
     public final FillExperimentEditForm addProperty(final PropertyField property)
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/FillExperimentRegistrationForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/FillExperimentRegistrationForm.java
index 3489735a409..07dce1405ff 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/FillExperimentRegistrationForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/FillExperimentRegistrationForm.java
@@ -62,7 +62,6 @@ public final class FillExperimentRegistrationForm extends AbstractDefaultTestCom
         this.code = code;
         this.samples = samples;
         this.properties = new ArrayList<PropertyField>();
-        addCallbackClass(ProjectSelectionWidget.ListProjectsCallback.class);
     }
 
     public final FillExperimentRegistrationForm addProperty(final PropertyField property)
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 7f8a4b70bf0..9b55ba06251 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
@@ -32,6 +32,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experim
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ShowExperiment;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase;
+import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.WaitForAllActiveCallbacksFinish;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 
 /**
@@ -68,14 +69,7 @@ public class GenericExperimentAttachmentDownloadTest extends AbstractGWTTestCase
         remoteConsole.prepare(new CheckUrlContentCmdTest(openedUrlCallback, "3VCP1\n3VCP2\n3VCP3"));
 
         // wait for the command which fetches URL content to finish
-        AbstractDefaultTestCommand waitForPrevCmd = new AbstractDefaultTestCommand()
-            {
-                public void execute()
-                {
-                }
-            };
-        waitForPrevCmd.addCallbackClass(CheckStringsEqualCallback.class);
-        remoteConsole.prepare(waitForPrevCmd);
+        remoteConsole.prepare(new WaitForAllActiveCallbacksFinish());
 
         remoteConsole.finish(20000);
         client.onModuleLoad(controller);
@@ -117,7 +111,6 @@ public class GenericExperimentAttachmentDownloadTest extends AbstractGWTTestCase
         {
             this.expectedContent = expectedContent;
             this.openedUrlCallback = openedUrlCallback;
-            addCallbackClass(OpenedUrlCallback.class);
         }
 
         public void execute()
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditorTest.java
index 70868fb2e12..2223fd80496 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditorTest.java
@@ -68,8 +68,7 @@ public class GenericExperimentEditorTest extends AbstractGWTTestCase
         String description = "description from " + new Date();
         remoteConsole.prepare(new FillExperimentEditForm().addProperty(new PropertyField(
                 "description", description)));
-        remoteConsole.prepare(new ListExperiments(withGroup(CISD, NEMO), SIRNA_HCS,
-                GenericExperimentEditForm.UpdateExperimentCallback.class));
+        remoteConsole.prepare(new ListExperiments(withGroup(CISD, NEMO), SIRNA_HCS));
         CheckExperimentTable table = new CheckExperimentTable();
         table.expectedRow(new ExperimentRow(EXP1).withUserPropertyCell("description", description));
         remoteConsole.prepare(table);
@@ -84,8 +83,7 @@ public class GenericExperimentEditorTest extends AbstractGWTTestCase
         prepareShowExperimentEditor(CISD, oldProject, SIRNA_HCS, experiment);
         remoteConsole.prepare(new FillExperimentEditForm().changeProject(identifier(CISD,
                 newProject)));
-        remoteConsole.prepare(new ListExperiments(withGroup(CISD, newProject), SIRNA_HCS,
-                GenericExperimentEditForm.UpdateExperimentCallback.class));
+        remoteConsole.prepare(new ListExperiments(withGroup(CISD, newProject), SIRNA_HCS));
         CheckExperimentTable table = new CheckExperimentTable();
         table.expectedRow(new ExperimentRow(experiment));
         remoteConsole.prepare(table);
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 bee7a305362..5c2278e016f 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
@@ -74,8 +74,7 @@ public class GenericExperimentRegistrationTest extends AbstractGWTTestCase
                                 "New test experiment description.")).addProperty(
                         new PropertyField(getFormID() + "user-gender", "MALE")).addProperty(
                         new PropertyField(getFormID() + "user-purchase-date", "2008-12-17")));
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.EXPERIMENT_MENU_BROWSE,
-                GenericExperimentRegistrationForm.RegisterExperimentCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.EXPERIMENT_MENU_BROWSE));
         remoteConsole.prepare(new ListExperiments("DEFAULT", experimentTypeCode));
         remoteConsole.prepare(new CheckExperimentTable()
                 .expectedRow(new ExperimentRow("NEW_EXP_1")));
@@ -96,8 +95,7 @@ public class GenericExperimentRegistrationTest extends AbstractGWTTestCase
                         "New test experiment with samples.")).addProperty(
                 new PropertyField(getFormID() + "user-gender", "MALE")).addProperty(
                 new PropertyField(getFormID() + "user-purchase-date", "2008-12-18")));
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE,
-                GenericExperimentRegistrationForm.RegisterExperimentCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE));
         remoteConsole.prepare(new ListSamples("CISD", "CELL_PLATE"));
         CheckSampleTable table = new CheckSampleTable();
         table.expectedRow(new SampleRow(sampleCode).identifier("CISD", "CISD").valid().experiment(
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 41f5217dac1..c27d0f30e36 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
@@ -19,7 +19,6 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.ex
 import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync;
 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.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.columns.specific.AttachmentColDefKind;
@@ -105,7 +104,7 @@ public class GenericExperimentViewerTest extends AbstractGWTTestCase
     public final void testDirectInvocationOfGetExperimentInfoByAnUnauthorizedUser()
     {
         remoteConsole.prepare(new Login("observer", "observer"));
-        remoteConsole.prepare(new AbstractDefaultTestCommand(SessionContextCallback.class)
+        remoteConsole.prepare(new AbstractDefaultTestCommand()
             {
                 public void execute()
                 {
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/CheckSample.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/CheckSample.java
index 5a179b25473..433b269bac6 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/CheckSample.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/CheckSample.java
@@ -18,14 +18,12 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sa
 
 import static ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample.GenericSampleViewer.PROPERTIES_ID_PREFIX;
 
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.entity.PropertyTypesCriteriaProvider.ListPropertyTypesCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.CheckTableCommand;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.IPropertyChecker;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.IValueAssertion;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.PropertyCheckingManager;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample.GenericSampleViewer.SampleGenerationInfoCallback;
 
 /**
  * @author Franz-Josef Elmer
@@ -50,10 +48,6 @@ public class CheckSample extends AbstractDefaultTestCommand implements
     {
         this.sampleId = sampleId;
         propertyCheckingManager = new PropertyCheckingManager();
-        addCallbackClass(SampleGenerationInfoCallback.class);
-        addCallbackClass(ContainerSamplesSection.createGridId(sampleId));
-        addCallbackClass(SampleDataSetBrowser.createGridId(sampleId));
-        addCallbackClass(ListPropertyTypesCallback.class);
     }
 
     public Property property(String name)
@@ -70,14 +64,14 @@ public class CheckSample extends AbstractDefaultTestCommand implements
     public CheckTableCommand componentsTable()
     {
         String gridId = ContainerSamplesSection.createGridId(sampleId);
-        componentsTableCheck = CheckTableCommand.createWithoutCallback(gridId);
+        componentsTableCheck = new CheckTableCommand(gridId);
         return componentsTableCheck;
     }
 
     public CheckTableCommand dataTable()
     {
         String gridId = SampleDataSetBrowser.createGridId(sampleId);
-        dataTableCheck = CheckTableCommand.createWithoutCallback(gridId);
+        dataTableCheck = new CheckTableCommand(gridId);
         return dataTableCheck;
     }
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/FillSampleRegistrationForm.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/FillSampleRegistrationForm.java
index 8feec3b3bde..c238b33cf09 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/FillSampleRegistrationForm.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/FillSampleRegistrationForm.java
@@ -27,7 +27,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.Abstrac
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.GroupSelectionWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ExperimentChooserField;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.SampleChooserField;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.VocabularyTermSelectionWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.StringUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand;
@@ -59,17 +58,11 @@ public final class FillSampleRegistrationForm extends AbstractDefaultTestCommand
 
     private String experimentIdentifier;
 
-    public FillSampleRegistrationForm(final String groupNameOrNull, final String code,
-            boolean withVocabulary)
+    public FillSampleRegistrationForm(final String groupNameOrNull, final String code)
     {
         this.groupNameOrNull = groupNameOrNull;
         this.code = code;
         this.properties = new ArrayList<PropertyField>();
-        addCallbackClass(GroupSelectionWidget.ListGroupsCallback.class);
-        if (withVocabulary)
-        {
-            addCallbackClass(VocabularyTermSelectionWidget.ListTermsCallback.class);
-        }
     }
 
     public final FillSampleRegistrationForm parent(final String parentFieldValue)
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 99492dffb8f..e87cf581ad5 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
@@ -87,11 +87,10 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase
     {
         final String sampleTypeCode = CONTROL_LAYOUT;
         loginAndPreprareRegistration(sampleTypeCode);
-        remoteConsole.prepare(new FillSampleRegistrationForm("CISD", GROUP_CL, true)
+        remoteConsole.prepare(new FillSampleRegistrationForm("CISD", GROUP_CL)
                 .addProperty(new PropertyField(getFormID()
                         + GWTUtils.escapeToFormId(PLATE_GEOMETRY), "1536_WELLS_32X48")));
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE,
-                GenericSampleRegistrationForm.RegisterSampleCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE));
         remoteConsole.prepare(new ListSamples("CISD", sampleTypeCode));
         remoteConsole.prepare(new CheckSampleTable().expectedRow(new SampleRow(GROUP_CL)
                 .identifier("CISD", "CISD")));
@@ -106,7 +105,7 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase
     {
         loginAndInvokeAction("observer", "observer", ActionMenuKind.SAMPLE_MENU_NEW);
         remoteConsole.prepare(new ChooseTypeOfNewSample(CONTROL_LAYOUT));
-        remoteConsole.prepare(new FillSampleRegistrationForm("TESTGROUP", GROUP_CL + "1", true)
+        remoteConsole.prepare(new FillSampleRegistrationForm("TESTGROUP", GROUP_CL + "1")
                 .addProperty(new PropertyField(getFormID()
                         + GWTUtils.escapeToFormId(PLATE_GEOMETRY), "1536_WELLS_32X48")));
         FailureExpectation failureExpectation =
@@ -123,10 +122,9 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase
         final String sampleCode = "dp4";
         final String sampleTypeCode = DILUTION_PLATE;
         loginAndPreprareRegistration(sampleTypeCode);
-        remoteConsole.prepare(new FillSampleRegistrationForm("CISD", sampleCode, false)
+        remoteConsole.prepare(new FillSampleRegistrationForm("CISD", sampleCode)
                 .parent("MP1-MIXED"));
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE,
-                GenericSampleRegistrationForm.RegisterSampleCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE));
         remoteConsole.prepare(new ListSamples("CISD", sampleTypeCode));
         remoteConsole.prepare(new CheckSampleTable().expectedRow(new SampleRow(sampleCode
                 .toUpperCase()).identifier("CISD", "CISD")));
@@ -138,10 +136,9 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase
         final String sampleCode = "cp-with-exp";
         final String sampleTypeCode = CELL_PLATE;
         loginAndPreprareRegistration(sampleTypeCode);
-        remoteConsole.prepare(new FillSampleRegistrationForm("CISD", sampleCode, false)
+        remoteConsole.prepare(new FillSampleRegistrationForm("CISD", sampleCode)
                 .experiment("/CISD/NEMO/EXP1"));
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE,
-                GenericSampleRegistrationForm.RegisterSampleCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE));
         remoteConsole.prepare(new ListSamples("CISD", sampleTypeCode));
         remoteConsole.prepare(new CheckSampleTable().expectedRow(new SampleRow(sampleCode
                 .toUpperCase()).identifier("CISD", "CISD").experiment("CISD", "NEMO", "EXP1")));
@@ -155,10 +152,9 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase
         final String containerCode = "3VCP5";
         final String containerId = "CISD:/CISD/" + containerCode;
         loginAndPreprareRegistration(sampleTypeCode);
-        remoteConsole.prepare(new FillSampleRegistrationForm("CISD", sampleCode, false)
+        remoteConsole.prepare(new FillSampleRegistrationForm("CISD", sampleCode)
                 .container(containerCode));
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE,
-                GenericSampleRegistrationForm.RegisterSampleCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE));
         remoteConsole.prepare(new ListSamples("CISD", CELL_PLATE));
         remoteConsole.prepare(new ShowSample(containerCode));
         final CheckSample checkSample = new CheckSample();
@@ -179,12 +175,11 @@ public class GenericSampleRegistrationTest extends AbstractGWTTestCase
         remoteConsole.prepare(new ChooseTypeOfNewSample(sampleTypeCode));
         final String description = "A very nice control layout.";
         remoteConsole.prepare(new FillSampleRegistrationForm(
-                GroupSelectionWidget.SHARED_GROUP_CODE, SHARED_CL, true).addProperty(
+                GroupSelectionWidget.SHARED_GROUP_CODE, SHARED_CL).addProperty(
                 new PropertyField(getFormID() + "description", description)).addProperty(
                 new PropertyField(getFormID() + GWTUtils.escapeToFormId(PLATE_GEOMETRY),
                         "1536_WELLS_32X48")));
-        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE,
-                GenericSampleRegistrationForm.RegisterSampleCallback.class));
+        remoteConsole.prepare(new InvokeActionMenu(TopMenu.ActionMenuKind.SAMPLE_MENU_BROWSE));
         remoteConsole.prepare(new ListSamples(GroupSelectionWidget.SHARED_GROUP_CODE,
                 sampleTypeCode));
         remoteConsole.prepare(new CheckSampleTable().expectedRow(new SampleRow(SHARED_CL)
-- 
GitLab