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