Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: Add refresh capabilities button to hosts main tab
......................................................................

webadmin: Add refresh capabilities button to hosts main tab

This button will allow to sync will getVdsCaps menually.

Change-Id: I847825f92d26da42bc38c2d08fe42bb3f10a2354
Signed-off-by: Alona Kaplan <alkap...@redhat.com>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
4 files changed, 65 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/41/15641/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
index 2a2a707..b1f254e 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
@@ -6,6 +6,7 @@
 import java.util.List;
 
 import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSStatus;
@@ -13,7 +14,6 @@
 import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.businessentities.VmTemplate;
 import org.ovirt.engine.core.common.businessentities.VmTemplateStatus;
-import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.compat.NotImplementedException;
 
 public final class VdcActionUtils {
@@ -40,39 +40,39 @@
         vdsMatrix.put(
                 VDSStatus.Error,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.RemoveVds,
-                        VdcActionType.ClearNonResponsiveVdsVms, 
VdcActionType.ApproveVds)));
+                        VdcActionType.ClearNonResponsiveVdsVms, 
VdcActionType.ApproveVds, VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.Installing,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.RemoveVds, 
VdcActionType.ActivateVds,
                         VdcActionType.ClearNonResponsiveVdsVms,
                         VdcActionType.ApproveVds, 
VdcActionType.MaintenanceVds, VdcActionType.StartVds,
-                        VdcActionType.StopVds)));
+                        VdcActionType.StopVds, 
VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.NonResponsive,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.RemoveVds, 
VdcActionType.ActivateVds,
-                        VdcActionType.ApproveVds)));
+                        VdcActionType.ApproveVds, 
VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.PreparingForMaintenance,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.RemoveVds, 
VdcActionType.MaintenanceVds,
                         VdcActionType.ClearNonResponsiveVdsVms,
 
-                        VdcActionType.ApproveVds)));
+                        VdcActionType.ApproveVds, 
VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.Reboot,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.ActivateVds, 
VdcActionType.RemoveVds,
                         VdcActionType.ClearNonResponsiveVdsVms,
 
-                        VdcActionType.ApproveVds, 
VdcActionType.MaintenanceVds)));
+                        VdcActionType.ApproveVds, 
VdcActionType.MaintenanceVds, VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.Unassigned,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.ActivateVds, VdcActionType
                         .RemoveVds, VdcActionType.MaintenanceVds,
-                        VdcActionType.ClearNonResponsiveVdsVms, 
VdcActionType.ApproveVds)));
+                        VdcActionType.ClearNonResponsiveVdsVms, 
VdcActionType.ApproveVds, VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.Initializing,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.ActivateVds, 
VdcActionType.RemoveVds,
                         VdcActionType.ClearNonResponsiveVdsVms, 
VdcActionType.ApproveVds,
-                        VdcActionType.MaintenanceVds)));
+                        VdcActionType.MaintenanceVds, 
VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.NonOperational,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.RemoveVds, 
VdcActionType.ApproveVds)));
@@ -80,18 +80,20 @@
                 VDSStatus.PendingApproval,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.UpdateVds,
                         VdcActionType.ActivateVds, 
VdcActionType.MaintenanceVds,
-                        VdcActionType.AttachVdsToTag, 
VdcActionType.ClearNonResponsiveVdsVms)));
+                        VdcActionType.AttachVdsToTag,
+                        VdcActionType.ClearNonResponsiveVdsVms,
+                        VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.InstallFailed,
-                new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.ApproveVds)));
+                new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.ApproveVds, 
VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.Connecting,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.MaintenanceVds, 
VdcActionType.RemoveVds,
-                        VdcActionType.ActivateVds, VdcActionType.ApproveVds)));
+                        VdcActionType.ActivateVds, VdcActionType.ApproveVds, 
VdcActionType.GetVdsCapabilities)));
         vdsMatrix.put(
                 VDSStatus.Down,
                 new 
HashSet<VdcActionType>(Arrays.asList(VdcActionType.ActivateVds, VdcActionType
-                        .ApproveVds)));
+                        .ApproveVds, VdcActionType.GetVdsCapabilities)));
         _matrix.put(VDS.class, vdsMatrix);
 
         HashMap<Enum<?>, HashSet<VdcActionType>> vmMatrix =
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 85fa787..c620faf 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
@@ -24,12 +24,12 @@
 import org.ovirt.engine.core.common.action.VdsActionParameters;
 import org.ovirt.engine.core.common.businessentities.FenceActionType;
 import org.ovirt.engine.core.common.businessentities.RoleType;
+import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.VDSStatus;
 import org.ovirt.engine.core.common.businessentities.VDSType;
 import org.ovirt.engine.core.common.businessentities.permissions;
-import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.interfaces.SearchType;
 import org.ovirt.engine.core.common.mode.ApplicationMode;
 import org.ovirt.engine.core.common.queries.ConfigurationValues;
@@ -62,7 +62,6 @@
 import org.ovirt.engine.ui.uicommonweb.models.events.TaskListModel;
 import org.ovirt.engine.ui.uicommonweb.models.tags.TagListModel;
 import org.ovirt.engine.ui.uicommonweb.models.tags.TagModel;
-import org.ovirt.engine.ui.uicompat.UIConstants;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
@@ -71,11 +70,12 @@
 import org.ovirt.engine.ui.uicompat.IEventListener;
 import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback;
 import org.ovirt.engine.ui.uicompat.IFrontendMultipleActionAsyncCallback;
-import org.ovirt.engine.ui.uicompat.UIMessages;
 import org.ovirt.engine.ui.uicompat.NotifyCollectionChangedEventArgs;
 import org.ovirt.engine.ui.uicompat.ObservableCollection;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 import org.ovirt.engine.ui.uicompat.ReversibleFlow;
+import org.ovirt.engine.ui.uicompat.UIConstants;
+import org.ovirt.engine.ui.uicompat.UIMessages;
 
 @SuppressWarnings("unused")
 public class HostListModel extends ListWithDetailsModel implements 
ISupportSystemTreeContext
@@ -237,6 +237,18 @@
         privateConfigureLocalStorageCommand = value;
     }
 
+    private UICommand getCapabilitiesCommand;
+
+    public UICommand getGetCapabilitiesCommand()
+    {
+        return getCapabilitiesCommand;
+    }
+
+    private void setGetCapabilitiesCommand(UICommand value)
+    {
+        getCapabilitiesCommand = value;
+    }
+
     private HostEventListModel privateHostEventListModel;
 
     private HostEventListModel getHostEventListModel()
@@ -304,6 +316,7 @@
         setManualFenceCommand(new UICommand("ManualFence", this)); 
//$NON-NLS-1$
         setAssignTagsCommand(new UICommand("AssignTags", this)); //$NON-NLS-1$
         setConfigureLocalStorageCommand(new UICommand("ConfigureLocalStorage", 
this)); //$NON-NLS-1$
+        setGetCapabilitiesCommand(new UICommand("GetCapabilities", this)); 
//$NON-NLS-1$
 
         
getConfigureLocalStorageCommand().setAvailableInModes(ApplicationMode.VirtOnly);
         updateActionAvailability();
@@ -1397,6 +1410,23 @@
         flow.run(new EnlistmentContext(this));
     }
 
+    private void getCapabilities() {
+        ArrayList<VdcActionParametersBase> list = new 
ArrayList<VdcActionParametersBase>();
+        for (Object item : getSelectedItems())
+        {
+            VDS vds = (VDS) item;
+            list.add(new VdsActionParameters(vds.getId()));
+        }
+
+        Frontend.RunMultipleAction(VdcActionType.GetVdsCapabilities, list,
+                new IFrontendMultipleActionAsyncCallback() {
+                    @Override
+                    public void executed(FrontendMultipleActionAsyncResult 
result) {
+
+                    }
+                }, null);
+    }
+
     @Override
     protected void initDetailModels()
     {
@@ -1550,6 +1580,10 @@
         getRemoveCommand().setIsAvailable(isAvailable);
 
         updateConfigureLocalStorageCommandAvailability();
+
+        getGetCapabilitiesCommand().setIsExecutionAllowed(items.size() > 0 && 
VdcActionUtils.CanExecute(items,
+                VDS.class,
+                VdcActionType.GetVdsCapabilities));
     }
 
     private Boolean hasAdminSystemPermission = null;
@@ -1671,6 +1705,10 @@
         {
             configureLocalStorage();
         }
+        else if (command == getGetCapabilitiesCommand())
+        {
+            getCapabilities();
+        }
         else if (StringHelper.stringsEqual(command.getName(), "OnAssignTags")) 
//$NON-NLS-1$
         {
             onAssignTags();
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index 902f5791..835238e 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -1109,6 +1109,9 @@
     @DefaultStringValue("Show Report")
     String showReportHost();
 
+    @DefaultStringValue("Resfresh Capabilities")
+    String refreshHostCapabilities();
+
     // host- general
     @DefaultStringValue("OS Version")
     String osVersionHostGeneral();
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
index ad52288..3299b09 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
@@ -292,6 +292,13 @@
                 getTable().addActionButton(new 
WebAdminMenuBarButtonDefinition<VDS>(constants.showReportHost(), 
resourceSubActions));
             }
         }
+
+        getTable().addActionButton(new 
WebAdminButtonDefinition<VDS>(constants.refreshHostCapabilities()) {
+            @Override
+            protected UICommand resolveCommand() {
+                return getMainModel().getGetCapabilitiesCommand();
+            }
+        });
     }
 
     @Override


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I847825f92d26da42bc38c2d08fe42bb3f10a2354
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alona Kaplan <alkap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to