Alexander Wels has uploaded a new change for review.

Change subject: webadmin: Selecting provider does not update
......................................................................

webadmin: Selecting provider does not update

- Selecting providers or some other items from the system tree
  did not update the contents of the related tab. This patch fixes
  that issue.

Change-Id: If024e6730521efba5d9ef67a71f527d3456e91ac
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1165208
Signed-off-by: Alexander Wels <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/disks/DiskListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/WebAdminPlaceManager.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractMainTabPresenter.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/MainTabVirtualMachinePresenter.java
20 files changed, 53 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/92/35492/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
index ab95ade..9ff6539 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
@@ -72,6 +72,15 @@
 
     private UICommand privateSearchCommand;
     private HandlerRegistration timerChangeHandler;
+    private String modelApplicationPlace;
+
+    protected void setModelApplicationPlace(String applicationPlace) {
+        modelApplicationPlace = applicationPlace;
+    }
+
+    public String getModelApplicationPlace() {
+        return modelApplicationPlace;
+    }
 
     public UICommand getSearchCommand()
     {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java
index c419809..ed59b8c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java
@@ -196,6 +196,7 @@
         this.cpuProfileListModel = cpuProfileListModel;
         setDetailList(clusterGeneralModel, clusterNetworkListModel, 
clusterHostListModel, permissionListModel);
 
+        setModelApplicationPlace("clusters"); //$NON-NLS-1$
         
setTitle(ConstantsManager.getInstance().getConstants().clustersTitle());
         setHelpTag(HelpTag.clusters);
         setHashName("clusters"); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
index 2fa5701..29067fc 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
@@ -205,6 +205,7 @@
                 permissionListModel, dataCenterEventListModel);
         
setTitle(ConstantsManager.getInstance().getConstants().dataCentersTitle());
 
+        setModelApplicationPlace("dataCenters"); //$NON-NLS-1$
         setDefaultSearchString("DataCenter:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         setSearchObjects(new String[] { 
SearchObjects.VDC_STORAGE_POOL_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/disks/DiskListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/disks/DiskListModel.java
index 7bcf4a4..8e45302 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/disks/DiskListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/disks/DiskListModel.java
@@ -181,6 +181,7 @@
         this.diskStorageListModel = diskStorageListModel;
         setDetailList(diskGeneralModel, permissionListModel);
 
+        setModelApplicationPlace("disks"); //$NON-NLS-1$
         setTitle(ConstantsManager.getInstance().getConstants().disksTitle());
 
         setDefaultSearchString("Disks: disk_type = image"); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
index a78a510..097863c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
@@ -4,7 +4,6 @@
 import java.util.Collections;
 import java.util.List;
 
-import org.ovirt.engine.ui.frontend.communication.RefreshActiveModelEvent;
 import org.ovirt.engine.core.common.businessentities.AuditLog;
 import org.ovirt.engine.core.common.businessentities.IVdcQueryable;
 import org.ovirt.engine.core.common.interfaces.SearchType;
@@ -16,6 +15,7 @@
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
+import org.ovirt.engine.ui.frontend.communication.RefreshActiveModelEvent;
 import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.help.HelpTag;
@@ -89,6 +89,7 @@
 
     public EventListModel()
     {
+        setModelApplicationPlace("events"); //$NON-NLS-1$
         setTitle(ConstantsManager.getInstance().getConstants().eventsTitle());
         setHelpTag(HelpTag.events);
         setHashName("events"); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
index 7cfaba4..6232861 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
@@ -389,6 +389,7 @@
         this.privateHostEventListModel = hostEventListModel;
         setDetailList(hostInterfaceListModel, hostHardwareGeneralModel, 
hostHooksListModel, permissionListModel);
 
+        setModelApplicationPlace("hosts"); //$NON-NLS-1$
         setTitle(ConstantsManager.getInstance().getConstants().hostsTitle());
         setHelpTag(HelpTag.hosts);
         setHashName("hosts"); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
index da5bf65..ae9b9d7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
@@ -68,6 +68,7 @@
         setHelpTag(HelpTag.networks);
         setHashName("networks"); //$NON-NLS-1$
 
+        setModelApplicationPlace("networks"); //$NON-NLS-1$
         setDefaultSearchString("Network:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         setSearchObjects(new String[] { SearchObjects.NETWORK_OBJ_NAME, 
SearchObjects.NETWORK_PLU_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java
index 846aa0e..86a3528 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java
@@ -137,6 +137,7 @@
         setDetailList(poolGeneralModel, poolVmListModel, permissionListModel);
         setTitle(ConstantsManager.getInstance().getConstants().poolsTitle());
 
+        setModelApplicationPlace("pools"); //$NON-NLS-1$
         setDefaultSearchString("Pools:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         setSearchObjects(new String[] { SearchObjects.VDC_POOL_OBJ_NAME, 
SearchObjects.VDC_POOL_PLU_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java
index 87d9e7d..0ddae70 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/profiles/VnicProfileListModel.java
@@ -54,6 +54,7 @@
         setHelpTag(HelpTag.vnicProfiles);
         setHashName("vnicProfiles"); //$NON-NLS-1$)
 
+        setModelApplicationPlace("vnicProfiles"); //$NON-NLS-1$
         setDefaultSearchString("VnicProfile:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         // setSearchObjects(new String[] { SearchObjects.PROFILE_OBJ_NAME, 
SearchObjects.PROFILE_PLU_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
index aa524ca..c1bc8d6 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
@@ -42,6 +42,7 @@
 
         this.providerNetworkListModel = providerNetworkListModel;
         setModelList(providerGeneralModel, providerNetworkListModel);
+        setModelApplicationPlace("providers"); //$NON-NLS-1$
 
         
setTitle(ConstantsManager.getInstance().getConstants().providersTitle());
         setHelpTag(HelpTag.providers);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
index 8c369f6..c026f9c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
@@ -87,6 +87,7 @@
                 quotaUserListModel, quotaPermissionListModel, 
quotaEventListModel);
         setTitle(ConstantsManager.getInstance().getConstants().quotaTitle());
 
+        setModelApplicationPlace("quota"); //$NON-NLS-1$
         setDefaultSearchString("Quota:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         setSearchObjects(new String[] { SearchObjects.QUOTA_OBJ_NAME, 
SearchObjects.QUOTA_PLU_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
index 8f72687..04d3ade 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
@@ -38,7 +38,7 @@
         htmlParams.parseUrlParams(baseUrl);
         htmlParams.setParameter("sessionID", ssoToken); //$NON-NLS-1$
         this.commonModelProvider = commonModelProvider;
-
+        setModelApplicationPlace("reports"); //$NON-NLS-1$
         String currentLocale = LocaleInfo.getCurrentLocale().getLocaleName();
         htmlParams.setParameter("userLocale", (currentLocale.equals("default") 
? "en_US" : currentLocale)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
index fcb785a..227764a 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
@@ -192,6 +192,7 @@
 
         setTitle(ConstantsManager.getInstance().getConstants().storageTitle());
 
+        setModelApplicationPlace("storage"); //$NON-NLS-1$
         setDefaultSearchString("Storage:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         setSearchObjects(new String[] { 
SearchObjects.VDC_STORAGE_DOMAIN_OBJ_NAME, 
SearchObjects.VDC_STORAGE_DOMAIN_PLU_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
index 06790b4..a50956f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
@@ -134,6 +134,7 @@
         setDetailModels(list);
         
setTitle(ConstantsManager.getInstance().getConstants().templatesTitle());
 
+        setModelApplicationPlace("templates"); //$NON-NLS-1$
         setDefaultSearchString("Template:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         setSearchObjects(new String[] { SearchObjects.TEMPLATE_OBJ_NAME, 
SearchObjects.TEMPLATE_PLU_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
index 8e88cbe..5e60395 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
@@ -106,6 +106,7 @@
 
         setTitle(ConstantsManager.getInstance().getConstants().usersTitle());
 
+        setModelApplicationPlace("users"); //$NON-NLS-1$
         setDefaultSearchString("Users:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         setSearchObjects(new String[] { SearchObjects.VDC_USER_OBJ_NAME, 
SearchObjects.VDC_USER_PLU_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
index 49697e8..a73fc4c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
@@ -465,6 +465,7 @@
         
setTitle(ConstantsManager.getInstance().getConstants().virtualMachinesTitle());
         setHelpTag(HelpTag.virtual_machines);
         setHashName("virtual_machines"); //$NON-NLS-1$
+        setModelApplicationPlace("vms"); //$NON-NLS-1$
 
         setDefaultSearchString("Vms:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java
index a5f36d7..063c43c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java
@@ -200,6 +200,7 @@
         setDetailList(volumeGeneralModel, volumeParameterListModel, 
permissionListModel, volumeEventListModel);
         setTitle(ConstantsManager.getInstance().getConstants().volumesTitle());
 
+        setModelApplicationPlace("volumes"); //$NON-NLS-1$
         setDefaultSearchString("Volumes:"); //$NON-NLS-1$
         setSearchString(getDefaultSearchString());
         setSearchObjects(new String[] { SearchObjects.GLUSTER_VOLUME_OBJ_NAME, 
SearchObjects.GLUSTER_VOLUME_PLU_OBJ_NAME });
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/WebAdminPlaceManager.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/WebAdminPlaceManager.java
index e82f16d..4f2a5e4 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/WebAdminPlaceManager.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/WebAdminPlaceManager.java
@@ -8,15 +8,19 @@
 import org.ovirt.engine.ui.common.section.DefaultMainSectionPlace;
 import org.ovirt.engine.ui.common.uicommon.ClientAgentType;
 import org.ovirt.engine.ui.uicommonweb.models.ApplicationModeHelper;
+import org.ovirt.engine.ui.uicommonweb.models.MainModelSelectionChangeEvent;
 
 import com.google.gwt.event.shared.EventBus;
 import com.google.inject.Inject;
+import com.google.web.bindery.event.shared.HandlerRegistration;
 import com.gwtplatform.mvp.shared.proxy.PlaceRequest;
 import com.gwtplatform.mvp.shared.proxy.TokenFormatter;
 
-public class WebAdminPlaceManager extends ApplicationPlaceManager {
+public class WebAdminPlaceManager extends ApplicationPlaceManager
+    implements MainModelSelectionChangeEvent.MainModelSelectionChangeHandler {
 
     private final PlaceRequest defaultMainSectionRequest;
+    HandlerRegistration mainModelSelectionChangeEventHandlerRegistration;
 
     @Inject
     public WebAdminPlaceManager(EventBus eventBus,
@@ -28,6 +32,8 @@
         super(eventBus, tokenFormatter, user, clientAgentType,
                 PlaceRequestFactory.get(defaultLoginSectionPlace));
         this.defaultMainSectionRequest = 
PlaceRequestFactory.get(defaultMainSectionPlace);
+        mainModelSelectionChangeEventHandlerRegistration =
+                
getEventBus().addHandler(MainModelSelectionChangeEvent.getType(), this);
     }
 
     @Override
@@ -46,4 +52,18 @@
         }
     }
 
+    @Override
+    public void onMainModelSelectionChange(MainModelSelectionChangeEvent 
event) {
+        String token = event.getMainModel().getModelApplicationPlace();
+        PlaceRequest placeRequest = null;
+
+        if (token != null) {
+            placeRequest = PlaceRequestFactory.get(token);
+        } else {
+            //This should never happen, but just in case it does, it won't 
crash.
+            placeRequest = getDefaultMainSectionPlace();
+        }
+        doRevealPlace(placeRequest, true);
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractMainTabPresenter.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractMainTabPresenter.java
index 2de4f0c..86621de 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractMainTabPresenter.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/AbstractMainTabPresenter.java
@@ -11,8 +11,8 @@
 import com.google.inject.Provider;
 import com.gwtplatform.mvp.client.View;
 import com.gwtplatform.mvp.client.proxy.PlaceManager;
-import com.gwtplatform.mvp.shared.proxy.PlaceRequest;
 import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace;
+import com.gwtplatform.mvp.shared.proxy.PlaceRequest;
 
 /**
  * Base class for main tab presenters.
@@ -27,8 +27,7 @@
  *            Proxy type.
  */
 public abstract class AbstractMainTabPresenter<T, M extends 
SearchableListModel, V extends View,
-    P extends TabContentProxyPlace<?>> extends AbstractTabPresenter<V, P>
-    implements MainModelSelectionChangeEvent.MainModelSelectionChangeHandler {
+    P extends TabContentProxyPlace<?>> extends AbstractTabPresenter<V, P> {
 
     protected final PlaceManager placeManager;
     protected final MainModelProvider<T, M> modelProvider;
@@ -75,24 +74,6 @@
 
     protected M getModel() {
         return modelProvider.getModel();
-    }
-
-    @Override
-    protected void onBind() {
-        super.onBind();
-        
registerHandler(getEventBus().addHandler(MainModelSelectionChangeEvent.getType(),
 this));
-    }
-
-    @Override
-    public void onMainModelSelectionChange(MainModelSelectionChangeEvent 
event) {
-        if (event.getMainModel() == getModel()) {
-            if (event.getMainModel().getIsAvailable()) {
-                // Reveal main tab place when the corresponding model is 
selected
-                placeManager.revealPlace(getMainTabRequest());
-            } else {
-                revealActiveMainModelPresenter();
-            }
-        }
     }
 
     void revealActiveMainModelPresenter() {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/MainTabVirtualMachinePresenter.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/MainTabVirtualMachinePresenter.java
index e3d2130..ea5adbd 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/MainTabVirtualMachinePresenter.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/MainTabVirtualMachinePresenter.java
@@ -20,10 +20,12 @@
 import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
 import com.gwtplatform.mvp.client.annotations.TabInfo;
 import com.gwtplatform.mvp.client.proxy.PlaceManager;
-import com.gwtplatform.mvp.shared.proxy.PlaceRequest;
 import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace;
+import com.gwtplatform.mvp.shared.proxy.PlaceRequest;
 
-public class MainTabVirtualMachinePresenter extends 
AbstractMainTabWithDetailsPresenter<VM, VmListModel, 
MainTabVirtualMachinePresenter.ViewDef, 
MainTabVirtualMachinePresenter.ProxyDef> {
+public class MainTabVirtualMachinePresenter
+    extends AbstractMainTabWithDetailsPresenter<VM, VmListModel, 
MainTabVirtualMachinePresenter.ViewDef,
+        MainTabVirtualMachinePresenter.ProxyDef> {
 
     @GenEvent
     public class VirtualMachineSelectionChange {


-- 
To view, visit http://gerrit.ovirt.org/35492
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If024e6730521efba5d9ef67a71f527d3456e91ac
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alexander Wels <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to