ofri masad has uploaded a new change for review. Change subject: webadmin: Add UI for synch mom policy ......................................................................
webadmin: Add UI for synch mom policy Add UI for update/synch Mom policy on host. Action added to sub tab host under main tab cluster. Change-Id: I4cc12a69edd6f92e1aff8d90769a8cb99256c77d Signed-off-by: Ofri Masad <oma...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterHostListModel.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/cluster/SubTabClusterHostView.java 3 files changed, 92 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/80/17380/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterHostListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterHostListModel.java index 544105a..42759a9 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterHostListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterHostListModel.java @@ -1,15 +1,33 @@ package org.ovirt.engine.ui.uicommonweb.models.clusters; +import org.ovirt.engine.core.common.action.VdcActionParametersBase; +import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.action.VdsActionParameters; +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.interfaces.SearchType; import org.ovirt.engine.core.common.queries.SearchParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.ui.frontend.Frontend; +import org.ovirt.engine.ui.uicommonweb.Linq; +import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel; +import org.ovirt.engine.ui.uicompat.FrontendMultipleActionAsyncResult; +import org.ovirt.engine.ui.uicompat.IFrontendMultipleActionAsyncCallback; import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; + +import java.util.ArrayList; @SuppressWarnings("unused") public class ClusterHostListModel extends HostListModel { + + public ClusterHostListModel() { + setUpdateMomPolicyCommand(new UICommand("updateMomPolicyCommand", this)); //$NON-NLS-1$ + } + + private UICommand updateMomPolicyCommand; @Override public VDSGroup getEntity() @@ -57,4 +75,65 @@ getSearchCommand().execute(); } } + + public UICommand getUpdateMomPolicyCommand() { + return updateMomPolicyCommand; + } + + public void setUpdateMomPolicyCommand(UICommand updateMomPolicyCommand) { + this.updateMomPolicyCommand = updateMomPolicyCommand; + } + + private void updateActionAvailability() { + + ArrayList<VDS> items = + getSelectedItems() != null ? Linq.<VDS> cast(getSelectedItems()) : new ArrayList<VDS>(); + boolean allHostRunning = !items.isEmpty(); + + for (VDS vds : items) { + if (vds.getStatus() != VDSStatus.Up) { + allHostRunning = false; + break; + } + } + + getUpdateMomPolicyCommand().setIsExecutionAllowed(allHostRunning); + } + + @Override + protected void onSelectedItemChanged() { + super.onSelectedItemChanged(); + updateActionAvailability(); + } + + @Override + protected void selectedItemsChanged() { + super.selectedItemsChanged(); + updateActionAvailability(); + } + + @Override + public void executeCommand(UICommand command) { + super.executeCommand(command); + + if (command.equals(getUpdateMomPolicyCommand())) { + updateMomPolicy(); + } + } + + private void updateMomPolicy() { + ArrayList<VdcActionParametersBase> list = new ArrayList<VdcActionParametersBase>(); + for (Object item : getSelectedItems()) { + VDS vds = (VDS) item; + list.add(new VdsActionParameters(vds.getId())); + } + + Frontend.RunMultipleAction(VdcActionType.UpdateMomPolicy, list, + new IFrontendMultipleActionAsyncCallback() { + @Override + public void executed(FrontendMultipleActionAsyncResult result) { + + } + }, null); + } } 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 fcd5d34..f2a6121 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 @@ -1803,6 +1803,9 @@ @DefaultStringValue("Load") String loadClusterHost(); + @DefaultStringValue("Synch Mom Policy") + String updateMomPolicyClusterHost(); + // Cluster service @DefaultStringValue("Host") String hostService(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterHostView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterHostView.java index 8d77a7f..f649b0f 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterHostView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterHostView.java @@ -9,6 +9,7 @@ import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider; import org.ovirt.engine.ui.common.widget.table.column.EnumColumn; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; +import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.models.ApplicationModeHelper; import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterHostListModel; import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterListModel; @@ -16,6 +17,7 @@ import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.cluster.SubTabClusterHostPresenter; import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView; +import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition; import org.ovirt.engine.ui.webadmin.widget.table.column.HostStatusColumn; public class SubTabClusterHostView extends AbstractSubTabTableView<VDSGroup, VDS, ClusterListModel, ClusterHostListModel> @@ -78,5 +80,13 @@ }; getTable().addColumn(consoleColumn, constants.overriddenConsoleAddress(), "220px"); //$NON-NLS-1$ } + + getTable().addActionButton(new WebAdminButtonDefinition<VDS>(constants.updateMomPolicyClusterHost()) { + + @Override + protected UICommand resolveCommand() { + return getDetailModel().getUpdateMomPolicyCommand(); + } + }); } } -- To view, visit http://gerrit.ovirt.org/17380 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4cc12a69edd6f92e1aff8d90769a8cb99256c77d Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: ofri masad <oma...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches