Daniel Erez has uploaded a new change for review.

Change subject: webadmin: Disks sub-tab under Storage main-tab
......................................................................

webadmin: Disks sub-tab under Storage main-tab

Adding 'Disks' sub-tab under Storage main-tab
(applicable for data storage domains).

Change-Id: I445de65ffacc9a6a77f6a350feba46da2d3f3e42
Signed-off-by: Daniel Erez <[email protected]>
---
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDiskListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/StorageModule.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageDiskPresenter.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageEventPresenter.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStoragePermissionPresenter.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/storage/SubTabStorageDiskView.java
10 files changed, 251 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/10322/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDiskListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDiskListModel.java
new file mode 100644
index 0000000..3a4c984
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDiskListModel.java
@@ -0,0 +1,80 @@
+package org.ovirt.engine.ui.uicommonweb.models.storage;
+
+import org.ovirt.engine.core.common.businessentities.DiskImage;
+import org.ovirt.engine.core.common.businessentities.storage_domains;
+import org.ovirt.engine.core.common.queries.StorageDomainQueryParametersBase;
+import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
+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.uicommonweb.models.SearchableListModel;
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
+
+import java.util.ArrayList;
+
+public class StorageDiskListModel extends SearchableListModel
+{
+    public StorageDiskListModel()
+    {
+        setTitle(ConstantsManager.getInstance().getConstants().disksTitle());
+        setHashName("disks"); //$NON-NLS-1$
+    }
+
+    @Override
+    protected void OnEntityChanged()
+    {
+        super.OnEntityChanged();
+
+        getSearchCommand().Execute();
+    }
+
+    @Override
+    public void setEntity(Object value)
+    {
+        if (value == null || !value.equals(getEntity())) {
+            super.setEntity(value);
+        }
+    }
+
+    @Override
+    public void Search()
+    {
+        if (getEntity() != null) {
+            super.Search();
+        }
+        else {
+            setItems(null);
+        }
+    }
+
+    @Override
+    protected void SyncSearch()
+    {
+        if (getEntity() == null) {
+            return;
+        }
+
+        super.SyncSearch();
+
+        AsyncQuery _asyncQuery = new AsyncQuery();
+        _asyncQuery.setModel(this);
+        _asyncQuery.asyncCallback = new INewAsyncCallback() {
+            @Override
+            public void OnSuccess(Object model, Object ReturnValue) {
+                StorageDiskListModel storageDiskListModel = 
(StorageDiskListModel) model;
+                storageDiskListModel.setItems((ArrayList<DiskImage>) 
((VdcQueryReturnValue) ReturnValue).getReturnValue());
+            }
+        };
+
+        StorageDomainQueryParametersBase parameters =
+                new 
StorageDomainQueryParametersBase(((storage_domains)getEntity()).getId());
+        parameters.setRefresh(getIsQueryFirstTime());
+        Frontend.RunQuery(VdcQueryType.GetAllDisksByStorageDomainId, 
parameters, _asyncQuery);
+    }
+
+    @Override
+    protected String getListName() {
+        return "StorageDiskListModel"; //$NON-NLS-1$
+    }
+}
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 639dcf5..5e602c4 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
@@ -189,6 +189,7 @@
     private ListModel vmListModel;
     private ListModel templateListModel;
     private ListModel isoListModel;
+    private ListModel diskListModel;
 
     public StorageDomainStatic storageDomain;
     public TaskContext context;
@@ -221,6 +222,9 @@
         isoListModel = new StorageIsoListModel();
         isoListModel.setIsAvailable(false);
 
+        diskListModel = new StorageDiskListModel();
+        diskListModel.setIsAvailable(false);
+
         ObservableCollection<EntityModel> list = new 
ObservableCollection<EntityModel>();
         list.add(new StorageGeneralModel());
         list.add(new StorageDataCenterListModel());
@@ -229,6 +233,7 @@
         list.add(vmListModel);
         list.add(templateListModel);
         list.add(isoListModel);
+        list.add(diskListModel);
         list.add(new StorageEventListModel());
         list.add(new PermissionListModel());
         setDetailModels(list);
@@ -1017,6 +1022,7 @@
 
             vmListModel.setIsAvailable(isDataStorage);
             templateListModel.setIsAvailable(isDataStorage);
+            diskListModel.setIsAvailable(isDataStorage);
 
             isoListModel.setIsAvailable(isIsoStorage);
         }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java
index 05da0a7..ce4f115 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java
@@ -81,6 +81,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaVmListModel;
 import org.ovirt.engine.ui.uicommonweb.models.reports.ReportsListModel;
 import 
org.ovirt.engine.ui.uicommonweb.models.storage.StorageDataCenterListModel;
+import org.ovirt.engine.ui.uicommonweb.models.storage.StorageDiskListModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.StorageEventListModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.StorageGeneralModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.StorageIsoListModel;
@@ -191,6 +192,7 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.quota.SubTabQuotaVmPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.StorageSubTabPanelPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageDataCenterPresenter;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageDiskPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageEventPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageGeneralPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageIsoPresenter;
@@ -380,6 +382,10 @@
 
     SearchableDetailModelProvider<EntityModel, StorageListModel, 
StorageIsoListModel> getSubTabStorageIsoModelProvider();
 
+    AsyncProvider<SubTabStorageDiskPresenter> getSubTabStorageDiskPresenter();
+
+    SearchableDetailModelProvider<Disk, StorageListModel, 
StorageDiskListModel> getSubTabStorageDiskModelProvider();
+
     AsyncProvider<SubTabStoragePermissionPresenter> 
getSubTabStoragePermissionPresenter();
 
     SearchableDetailModelProvider<permissions, StorageListModel, 
PermissionListModel> getSubTabStoragePermissionModelProvider();
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
index 76e1b25..d03e779 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
@@ -152,6 +152,7 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.quota.SubTabQuotaVmPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.StorageSubTabPanelPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageDataCenterPresenter;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageDiskPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageEventPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageGeneralPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageIsoPresenter;
@@ -330,6 +331,7 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.view.tab.quota.SubTabQuotaVmView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.tab.storage.StorageSubTabPanelView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.tab.storage.SubTabStorageDataCenterView;
+import 
org.ovirt.engine.ui.webadmin.section.main.view.tab.storage.SubTabStorageDiskView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.tab.storage.SubTabStorageEventView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.tab.storage.SubTabStorageGeneralView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.tab.storage.SubTabStorageIsoView;
@@ -536,6 +538,10 @@
                 SubTabStorageIsoPresenter.ViewDef.class,
                 SubTabStorageIsoView.class,
                 SubTabStorageIsoPresenter.ProxyDef.class);
+        bindPresenter(SubTabStorageDiskPresenter.class,
+                SubTabStorageDiskPresenter.ViewDef.class,
+                SubTabStorageDiskView.class,
+                SubTabStorageDiskPresenter.ProxyDef.class);
         bindPresenter(SubTabStoragePermissionPresenter.class,
                 SubTabStoragePermissionPresenter.ViewDef.class,
                 SubTabStoragePermissionView.class,
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/StorageModule.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/StorageModule.java
index 9011e49..baa8b49 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/StorageModule.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/StorageModule.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.ui.webadmin.gin.uicommon;
 
 import org.ovirt.engine.core.common.businessentities.AuditLog;
+import org.ovirt.engine.core.common.businessentities.Disk;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VmTemplate;
 import org.ovirt.engine.core.common.businessentities.permissions;
@@ -22,6 +23,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.configure.PermissionListModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.ImportCloneModel;
 import 
org.ovirt.engine.ui.uicommonweb.models.storage.StorageDataCenterListModel;
+import org.ovirt.engine.ui.uicommonweb.models.storage.StorageDiskListModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.StorageEventListModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.StorageGeneralModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.StorageIsoListModel;
@@ -188,6 +190,14 @@
 
     @Provides
     @Singleton
+    public SearchableDetailModelProvider<Disk, StorageListModel, 
StorageDiskListModel> getStorageDiskListProvider(ClientGinjector ginjector) {
+        return new SearchableDetailTabModelProvider<Disk, StorageListModel, 
StorageDiskListModel>(ginjector,
+                StorageListModel.class,
+                StorageDiskListModel.class);
+    }
+
+    @Provides
+    @Singleton
     public SearchableDetailModelProvider<VmTemplate, StorageListModel, 
StorageTemplateListModel> getStorageTemplateListProvider(ClientGinjector 
ginjector) {
         return new SearchableDetailTabModelProvider<VmTemplate, 
StorageListModel, StorageTemplateListModel>(ginjector,
                 StorageListModel.class,
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java
index a666d41..c94c885 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java
@@ -88,6 +88,9 @@
     public static final String storageIsoSubTabPlace = storageMainTabPlace + 
SUB_TAB_PREFIX
             + "images"; //$NON-NLS-1$
 
+    public static final String storageDiskSubTabPlace = storageMainTabPlace + 
SUB_TAB_PREFIX
+            + "disks"; //$NON-NLS-1$
+
     public static final String storagePermissionSubTabPlace = 
storageMainTabPlace + SUB_TAB_PREFIX
             + "permissions"; //$NON-NLS-1$
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageDiskPresenter.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageDiskPresenter.java
new file mode 100644
index 0000000..c87f88d
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageDiskPresenter.java
@@ -0,0 +1,64 @@
+package org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage;
+
+import org.ovirt.engine.core.common.businessentities.Disk;
+import org.ovirt.engine.core.common.businessentities.storage_domains;
+import org.ovirt.engine.ui.common.presenter.AbstractSubTabPresenter;
+import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider;
+import org.ovirt.engine.ui.common.widget.tab.ModelBoundTabData;
+import org.ovirt.engine.ui.uicommonweb.models.storage.StorageDiskListModel;
+import org.ovirt.engine.ui.uicommonweb.models.storage.StorageListModel;
+import org.ovirt.engine.ui.webadmin.gin.ClientGinjector;
+import org.ovirt.engine.ui.webadmin.place.ApplicationPlaces;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.StorageSelectionChangeEvent;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.TabData;
+import com.gwtplatform.mvp.client.annotations.NameToken;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
+import com.gwtplatform.mvp.client.annotations.TabInfo;
+import com.gwtplatform.mvp.client.proxy.PlaceManager;
+import com.gwtplatform.mvp.client.proxy.PlaceRequest;
+import com.gwtplatform.mvp.client.proxy.RevealContentEvent;
+import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace;
+
+public class SubTabStorageDiskPresenter extends 
AbstractSubTabPresenter<storage_domains, StorageListModel, 
StorageDiskListModel, SubTabStorageDiskPresenter.ViewDef, 
SubTabStorageDiskPresenter.ProxyDef> {
+
+    @ProxyCodeSplit
+    @NameToken(ApplicationPlaces.storageDiskSubTabPlace)
+    public interface ProxyDef extends 
TabContentProxyPlace<SubTabStorageDiskPresenter> {
+    }
+
+    public interface ViewDef extends 
AbstractSubTabPresenter.ViewDef<storage_domains> {
+    }
+
+    @TabInfo(container = StorageSubTabPanelPresenter.class)
+    static TabData getTabData(ClientGinjector ginjector) {
+        return new 
ModelBoundTabData(ginjector.getApplicationConstants().disksLabel(), 7,
+                ginjector.getSubTabStorageDiskModelProvider());
+    }
+
+    @Inject
+    public SubTabStorageDiskPresenter(EventBus eventBus, ViewDef view, 
ProxyDef proxy,
+            PlaceManager placeManager,
+            SearchableDetailModelProvider<Disk, StorageListModel, 
StorageDiskListModel> modelProvider) {
+        super(eventBus, view, proxy, placeManager, modelProvider);
+    }
+
+    @Override
+    protected void revealInParent() {
+        RevealContentEvent.fire(this, 
StorageSubTabPanelPresenter.TYPE_SetTabContent, this);
+    }
+
+    @Override
+    protected PlaceRequest getMainTabRequest() {
+        return new PlaceRequest(ApplicationPlaces.storageMainTabPlace);
+    }
+
+    @ProxyEvent
+    public void onStorageSelectionChange(StorageSelectionChangeEvent event) {
+        updateMainTabSelection(event.getSelectedItems());
+    }
+
+}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageEventPresenter.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageEventPresenter.java
index e2231cf..f58816a 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageEventPresenter.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStorageEventPresenter.java
@@ -36,7 +36,7 @@
 
     @TabInfo(container = StorageSubTabPanelPresenter.class)
     static TabData getTabData(ClientGinjector ginjector) {
-        return new 
ModelBoundTabData(ginjector.getApplicationConstants().storageEventSubTabLabel(),
 8,
+        return new 
ModelBoundTabData(ginjector.getApplicationConstants().storageEventSubTabLabel(),
 9,
                 ginjector.getSubTabStorageEventModelProvider(), Align.RIGHT);
     }
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStoragePermissionPresenter.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStoragePermissionPresenter.java
index 22e8d0c..0f5c9cd 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStoragePermissionPresenter.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/storage/SubTabStoragePermissionPresenter.java
@@ -35,7 +35,7 @@
 
     @TabInfo(container = StorageSubTabPanelPresenter.class)
     static TabData getTabData(ClientGinjector ginjector) {
-        return new 
ModelBoundTabData(ginjector.getApplicationConstants().storagePermissionSubTabLabel(),
 7,
+        return new 
ModelBoundTabData(ginjector.getApplicationConstants().storagePermissionSubTabLabel(),
 8,
                 ginjector.getSubTabStoragePermissionModelProvider());
     }
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/storage/SubTabStorageDiskView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/storage/SubTabStorageDiskView.java
new file mode 100644
index 0000000..7fb4d14
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/storage/SubTabStorageDiskView.java
@@ -0,0 +1,74 @@
+package org.ovirt.engine.ui.webadmin.section.main.view.tab.storage;
+
+import org.ovirt.engine.core.common.businessentities.Disk;
+import org.ovirt.engine.core.common.businessentities.storage_domains;
+import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
+import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider;
+import org.ovirt.engine.ui.common.widget.uicommon.disks.DisksViewColumns;
+import org.ovirt.engine.ui.uicommonweb.models.storage.StorageDiskListModel;
+import org.ovirt.engine.ui.uicommonweb.models.storage.StorageListModel;
+import org.ovirt.engine.ui.webadmin.ApplicationConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationResources;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageDiskPresenter;
+import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView;
+import 
org.ovirt.engine.ui.webadmin.section.main.view.tab.storage.SubTabStorageDataCenterView.ViewIdHandler;
+
+import com.google.gwt.core.client.GWT;
+import com.google.inject.Inject;
+
+public class SubTabStorageDiskView extends 
AbstractSubTabTableView<storage_domains, Disk, StorageListModel, 
StorageDiskListModel>
+        implements SubTabStorageDiskPresenter.ViewDef {
+
+    interface ViewIdHandler extends ElementIdHandler<SubTabStorageDiskView> {
+        ViewIdHandler idHandler = GWT.create(ViewIdHandler.class);
+    }
+
+    @Inject
+    public SubTabStorageDiskView(SearchableDetailModelProvider<Disk, 
StorageListModel, StorageDiskListModel> modelProvider,
+            ApplicationResources resources, ApplicationConstants constants) {
+        super(modelProvider);
+        ViewIdHandler.idHandler.generateAndSetIds(this);
+        initTable(resources, constants);
+        initWidget(getTable());
+    }
+
+    void initTable(ApplicationResources resources, final ApplicationConstants 
constants) {
+        getTable().ensureColumnPresent(
+                DisksViewColumns.aliasColumn, constants.aliasDisk(), true);
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.bootableDiskColumn,
+                DisksViewColumns.bootableDiskColumn.getHeaderHtml(), true, 
"30px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.shareableDiskColumn,
+                DisksViewColumns.shareableDiskColumn.getHeaderHtml(), true, 
"30px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.sizeColumn, constants.provisionedSizeDisk(), 
true, "100px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.actualSizeColumn, constants.sizeDisk(), true, 
"100px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.allocationColumn, constants.allocationDisk(), 
true, "100px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.storageDomainsColumn, 
constants.storageDomainDisk(), true, "120px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.dateCreatedColumn, 
constants.creationDateDisk(), true, "150px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.diskContainersColumn, 
constants.attachedToDisk(), true, "120px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.interfaceColumn, constants.interfaceDisk(), 
true, "100px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.statusColumn, constants.statusDisk(), true, 
"100px"); //$NON-NLS-1$
+
+        getTable().ensureColumnPresent(
+                DisksViewColumns.descriptionColumn, 
constants.descriptionDisk(), true);
+    }
+}


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

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

Reply via email to