Lior Vernia has uploaded a new change for review. Change subject: webadmin: Add full host network QoS dialogs ......................................................................
webadmin: Add full host network QoS dialogs Implemented the complete host network QoS dialogs (add/edit/remove), to be used from the DC/QoS subtab and (some also from) add/edit network dialog. Change-Id: I212708b25777f5d11245a610d4d767f634cb9f88 Signed-off-by: Lior Vernia <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/help/HelpTag.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditHostNetworkQosModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewHostNetworkQosModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveHostNetworkQos.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveQosModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/HostNetworkQosPopupPresenterWidget.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/qos/HostNetworkQosPopupView.java 10 files changed, 225 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/34128/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/help/HelpTag.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/help/HelpTag.java index b57bec6..8ecca8e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/help/HelpTag.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/help/HelpTag.java @@ -150,6 +150,8 @@ edit_cpu_qos("edit_cpu_qos", HelpTagType.WEBADMIN, "'Data Centers' main tab -> 'Cpu QoS' sub-tab -> 'Edit Cpu QoS' dialog"), //$NON-NLS-1$ //$NON-NLS-2$ + edit_host_network_qos("edit_host_network_qos", HelpTagType.WEBADMIN, "'Data Centers' main tab -> 'Host Network QoS' sub-tab -> 'Edit Host Network QoS' dialog"), //$NON-NLS-1$ //$NON-NLS-2$ + edit_pool("edit_pool", HelpTagType.COMMON, "Pools Tab > Edit Pool"), //$NON-NLS-1$ //$NON-NLS-2$ edit_provider("edit_provider", HelpTagType.WEBADMIN, "[Neutron integration] 'Providers' main tab -> 'Edit Provider' dialog"), //$NON-NLS-1$ //$NON-NLS-2$ @@ -296,6 +298,8 @@ new_network_qos("new_network_qos", HelpTagType.WEBADMIN, "'Data Centers' main tab -> 'Network QoS' sub-tab -> 'New Network QoS' dialog"), //$NON-NLS-1$ //$NON-NLS-2$ + new_host_network_qos("new_host_network_qos", HelpTagType.WEBADMIN, "'Data Centers' main tab -> 'Host Network QoS' sub-tab -> 'New Host Network QoS' dialog"), //$NON-NLS-1$ //$NON-NLS-2$ + new_storage_qos("new_storage_qos", HelpTagType.WEBADMIN, "'Data Centers' main tab -> 'Storage QoS' sub-tab -> 'New Storage QoS' dialog"), //$NON-NLS-1$ //$NON-NLS-2$ new_cpu_qos("new_cpu_qos", HelpTagType.WEBADMIN, "'Data Centers' main tab -> 'Cpu QoS' sub-tab -> 'New Cpu QoS' dialog"), //$NON-NLS-1$ //$NON-NLS-2$ @@ -372,6 +376,8 @@ remove_cpu_qos("remove_cpu_qos", HelpTagType.WEBADMIN, "'Data Centers' main tab -> 'Cpu QoS' sub-tab -> 'Remove Cpu QoS' confirmation dialog."), //$NON-NLS-1$ //$NON-NLS-2$ + remove_host_network_qos("remove_host_network_qos", HelpTagType.WEBADMIN, "'Data Centers' main tab -> 'Host Network QoS' sub-tab -> 'Remove Host Network QoS' confirmation dialog."), //$NON-NLS-1$ //$NON-NLS-2$ + remove_permission("remove_permission", HelpTagType.COMMON, "Each Main Tab > Permissions Sub-Tab > Remove Permission"), //$NON-NLS-1$ //$NON-NLS-2$ remove_pool("remove_pool", HelpTagType.WEBADMIN, "Pools Tab > Remove Pool(s)"), //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditHostNetworkQosModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditHostNetworkQosModel.java new file mode 100644 index 0000000..bbbb312f --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditHostNetworkQosModel.java @@ -0,0 +1,44 @@ +package org.ovirt.engine.ui.uicommonweb.models.datacenters.qos; + +import org.ovirt.engine.core.common.action.QosParametersBase; +import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.StoragePool; +import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos; +import org.ovirt.engine.ui.uicommonweb.help.HelpTag; +import org.ovirt.engine.ui.uicommonweb.models.Model; +import org.ovirt.engine.ui.uicompat.ConstantsManager; + +public class EditHostNetworkQosModel extends QosModel<HostNetworkQos, HostNetworkQosParametersModel> { + + public EditHostNetworkQosModel(HostNetworkQos qos, Model sourceModel, StoragePool dataCenter) { + super(qos, new HostNetworkQosParametersModel(), sourceModel, dataCenter); + } + + @Override + protected VdcActionType getVdcAction() { + return VdcActionType.UpdateHostNetworkQos; + } + + @Override + protected QosParametersBase<HostNetworkQos> getParameters() { + QosParametersBase<HostNetworkQos> parameters = new QosParametersBase<HostNetworkQos>(); + parameters.setQos(getQos()); + return parameters; + } + + @Override + public String getTitle() { + return ConstantsManager.getInstance().getConstants().editHostNetworkQosTitle(); + } + + @Override + public HelpTag getHelpTag() { + return HelpTag.edit_host_network_qos; + } + + @Override + public String getHashName() { + return "edit_host_network_qos"; //$NON-NLS-1$ + } + +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewHostNetworkQosModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewHostNetworkQosModel.java new file mode 100644 index 0000000..20fbdd5 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewHostNetworkQosModel.java @@ -0,0 +1,44 @@ +package org.ovirt.engine.ui.uicommonweb.models.datacenters.qos; + +import org.ovirt.engine.core.common.action.QosParametersBase; +import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.StoragePool; +import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos; +import org.ovirt.engine.ui.uicommonweb.help.HelpTag; +import org.ovirt.engine.ui.uicommonweb.models.Model; +import org.ovirt.engine.ui.uicompat.ConstantsManager; + +public class NewHostNetworkQosModel extends QosModel<HostNetworkQos, HostNetworkQosParametersModel> { + + public NewHostNetworkQosModel(Model sourceModel, StoragePool dataCenter) { + super(new HostNetworkQos(), new HostNetworkQosParametersModel(), sourceModel, dataCenter); + } + + @Override + protected VdcActionType getVdcAction() { + return VdcActionType.AddHostNetworkQos; + } + + @Override + protected QosParametersBase<HostNetworkQos> getParameters() { + QosParametersBase<HostNetworkQos> parameters = new QosParametersBase<HostNetworkQos>(); + parameters.setQos(getQos()); + return parameters; + } + + @Override + public String getTitle() { + return ConstantsManager.getInstance().getConstants().newHostNetworkQosTitle(); + } + + @Override + public HelpTag getHelpTag() { + return HelpTag.new_host_network_qos; + } + + @Override + public String getHashName() { + return "new_host_network_qos"; //$NON-NLS-1$ + } + +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveHostNetworkQos.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveHostNetworkQos.java new file mode 100644 index 0000000..7b40802 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveHostNetworkQos.java @@ -0,0 +1,46 @@ +package org.ovirt.engine.ui.uicommonweb.models.datacenters.qos; + +import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos; +import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.ui.uicommonweb.help.HelpTag; +import org.ovirt.engine.ui.uicommonweb.models.ListModel; +import org.ovirt.engine.ui.uicompat.ConstantsManager; + +public class RemoveHostNetworkQos extends RemoveQosModel<HostNetworkQos> { + + public RemoveHostNetworkQos(ListModel<HostNetworkQos> sourceListModel) { + super(sourceListModel); + } + + @Override + public String getTitle() { + return ConstantsManager.getInstance().getConstants().removeHostNetworkQosTitle(); + } + + @Override + protected VdcQueryType getProfilesByQosIdQueryType() { + return VdcQueryType.GetAllNetworksByQosId; + } + + @Override + protected String getRemoveQosMessage(int size) { + return ConstantsManager.getInstance().getMessages().removeHostNetworkQosMessage(size); + } + + @Override + protected String getRemoveQosHashName() { + return "remove_host_network_qos"; //$NON-NLS-1$ + } + + @Override + protected HelpTag getRemoveQosHelpTag() { + return HelpTag.remove_host_network_qos; + } + + @Override + protected VdcActionType getRemoveActionType() { + return VdcActionType.RemoveHostNetworkQos; + } + +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveQosModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveQosModel.java index 36ebaea..0aed6b3 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveQosModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveQosModel.java @@ -9,7 +9,7 @@ import org.ovirt.engine.core.common.action.QosParametersBase; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; -import org.ovirt.engine.core.common.businessentities.profiles.ProfileBase; +import org.ovirt.engine.core.common.businessentities.Nameable; import org.ovirt.engine.core.common.businessentities.qos.QosBase; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; @@ -69,17 +69,19 @@ @Override public void executed(FrontendMultipleQueryAsyncResult result) { - Map<ProfileBase, String> profilesAndQos = new HashMap<ProfileBase, String>(); + Map<String, String> profilesAndQos = new HashMap<String, String>(); setHelpTag(getRemoveQosHelpTag()); setHashName(getRemoveQosHashName()); int index = 0; for (VdcQueryReturnValue returnValue : result.getReturnValues()) { - for (ProfileBase profileBase : (List<ProfileBase>)returnValue.getReturnValue()) { - profilesAndQos.put(profileBase, sourceListModel.getSelectedItems().get(index).getName()); - } - index++; + for (Nameable profileBase : (List<Nameable>) returnValue.getReturnValue()) { + profilesAndQos.put(profileBase.getName(), sourceListModel.getSelectedItems() + .get(index) + .getName()); + } + index++; } if (profilesAndQos.isEmpty()) { ArrayList<String> list = new ArrayList<String>(); @@ -91,8 +93,8 @@ setMessage(getRemoveQosMessage(profilesAndQos.size())); ArrayList<String> list = new ArrayList<String>(); - for (Entry<ProfileBase, String> item : profilesAndQos.entrySet()) { - list.add(item.getKey().getName() + " (" + item.getValue() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ + for (Entry<String, String> item : profilesAndQos.entrySet()) { + list.add(item.getKey() + " (" + item.getValue() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ } setItems(list); } diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java index 88d5837..84e359b 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java @@ -2152,6 +2152,15 @@ @DefaultStringValue("New Network QoS") String newNetworkQoSTitle(); + @DefaultStringValue("New Host Network QoS") + String newHostNetworkQosTitle(); + + @DefaultStringValue("Edit Host Network QoS") + String editHostNetworkQosTitle(); + + @DefaultStringValue("Remove Host Network QoS") + String removeHostNetworkQosTitle(); + @DefaultStringValue("New Storage QoS") String newStorageQoSTitle(); diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java index 4e09612..45096a4 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java @@ -310,6 +310,9 @@ @DefaultMessage("This CPU QoS is used by {0} CPU Profiles.\nAre you sure you want to remove this CPU QoS?\n\n Profiles using this QoS:\n") String removeCpuQoSMessage(int numOfProfiles); + @DefaultMessage("This Host Network QoS is used by {0} Networks.\nAre you sure you want to remove it?\n\nNetworks using this QoS:\n") + String removeHostNetworkQosMessage(int numOfNetworks); + @DefaultMessage("{0} ({1} Socket(s), {2} Core(s) per Socket)") String cpuInfoMessage(int numOfCpus, int sockets, int coresPerSocket); 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 8ce733c..6813e37 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 @@ -15,6 +15,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.AssignTagsPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.CpuQosPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.DetachConfirmationPopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.HostNetworkQosPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.NetworkQoSPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.PermissionsPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.StorageQosPopupPresenterWidget; @@ -313,6 +314,7 @@ import org.ovirt.engine.ui.webadmin.section.main.view.popup.provider.ImportNetworksPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.provider.ProviderPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.qos.CpuQosPopupView; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.qos.HostNetworkQosPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.qos.StorageQosPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.quota.ChangeQuotaPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.quota.EditQuotaClusterPopupView; @@ -1398,6 +1400,11 @@ CpuQosPopupPresenterWidget.ViewDef.class, CpuQosPopupView.class); + // Host Network QoS + bindPresenterWidget(HostNetworkQosPopupPresenterWidget.class, + HostNetworkQosPopupPresenterWidget.ViewDef.class, + HostNetworkQosPopupView.class); + bindPresenterWidget(EditQuotaClusterPopupPresenterWidget.class, EditQuotaClusterPopupPresenterWidget.ViewDef.class, EditQuotaClusterPopupView.class); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/HostNetworkQosPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/HostNetworkQosPopupPresenterWidget.java new file mode 100644 index 0000000..178600a --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/HostNetworkQosPopupPresenterWidget.java @@ -0,0 +1,21 @@ +package org.ovirt.engine.ui.webadmin.section.main.presenter.popup; + +import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos; +import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget; +import org.ovirt.engine.ui.uicommonweb.models.datacenters.qos.HostNetworkQosParametersModel; +import org.ovirt.engine.ui.uicommonweb.models.datacenters.qos.QosModel; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class HostNetworkQosPopupPresenterWidget extends AbstractModelBoundPopupPresenterWidget<QosModel<HostNetworkQos, HostNetworkQosParametersModel>, HostNetworkQosPopupPresenterWidget.ViewDef> { + + public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<QosModel<HostNetworkQos, HostNetworkQosParametersModel>> { + } + + @Inject + public HostNetworkQosPopupPresenterWidget(EventBus eventBus, ViewDef view) { + super(eventBus, view); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/qos/HostNetworkQosPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/qos/HostNetworkQosPopupView.java new file mode 100644 index 0000000..628fe7b --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/qos/HostNetworkQosPopupView.java @@ -0,0 +1,35 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.qos; + +import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos; +import org.ovirt.engine.ui.uicommonweb.models.datacenters.qos.HostNetworkQosParametersModel; +import org.ovirt.engine.ui.uicommonweb.models.datacenters.qos.QosModel; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationResources; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.HostNetworkQosPopupPresenterWidget; + +import com.google.gwt.core.shared.GWT; +import com.google.gwt.editor.client.SimpleBeanEditorDriver; +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class HostNetworkQosPopupView extends QosPopupView<HostNetworkQos, HostNetworkQosParametersModel> implements HostNetworkQosPopupPresenterWidget.ViewDef { + + interface Driver extends SimpleBeanEditorDriver<QosModel<HostNetworkQos, HostNetworkQosParametersModel>, HostNetworkQosPopupView> { + } + + @Inject + public HostNetworkQosPopupView(EventBus eventBus, ApplicationResources resources, ApplicationConstants constants) { + super(eventBus, resources, constants); + } + + @Override + protected void createQosWidget() { + qosWidget = new HostNetworkQosWidget(constants); + } + + @Override + protected SimpleBeanEditorDriver<QosModel<HostNetworkQos, HostNetworkQosParametersModel>, QosPopupView<HostNetworkQos, HostNetworkQosParametersModel>> createDriver() { + return GWT.create(Driver.class); + } + +} -- To view, visit http://gerrit.ovirt.org/34128 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I212708b25777f5d11245a610d4d767f634cb9f88 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
