Hello Gilad Chaplik, I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/35676 to review the following change. Change subject: webadmin: fix storage QoS UI validation ...................................................................... webadmin: fix storage QoS UI validation The storage values weren't validated. Also added a check to allow setting total or read/write. Change-Id: Ia4f69ce1b7751e066c6a1e15f482805bbc7df16a Bug-Url: https://bugzilla.redhat.com/????? Signed-off-by: Gilad Chaplik <gchap...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/CpuQosParametersModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosParametersModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosMetricParametersModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosParametersModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java 6 files changed, 25 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/35676/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/CpuQosParametersModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/CpuQosParametersModel.java index 21732ef..db3c7a0 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/CpuQosParametersModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/CpuQosParametersModel.java @@ -26,6 +26,7 @@ cpuQos.setCpuLimit(getCpuLimit().getEntity()); } + @Override public boolean validate() { if (!getIsAvailable()) { return true; diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosModel.java index 858a095..e81e39a 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosModel.java @@ -40,7 +40,8 @@ public boolean validate() { getName().validateEntity(new IValidation[] { new NotEmptyValidation(), new AsciiNameValidation() }); getDescription().validateEntity(new IValidation[] { new AsciiOrNoneValidation() }); - setIsValid(getIsValid() && getName().getIsValid() && getDescription().getIsValid()); + getQosParametersModel().validate(); + setIsValid(getName().getIsValid() && getDescription().getIsValid() && getQosParametersModel().getIsValid()); return getIsValid(); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosParametersModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosParametersModel.java index 71bcfc7..a93a3e4 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosParametersModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/QosParametersModel.java @@ -9,4 +9,6 @@ public abstract void flush(T qos); + public abstract boolean validate(); + } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosMetricParametersModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosMetricParametersModel.java index 715c756..6b10c8a 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosMetricParametersModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosMetricParametersModel.java @@ -6,7 +6,7 @@ import org.ovirt.engine.ui.uicommonweb.models.Model; import org.ovirt.engine.ui.uicommonweb.validation.IValidation; import org.ovirt.engine.ui.uicommonweb.validation.IntegerValidation; -import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation; +import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.Event; import org.ovirt.engine.ui.uicompat.EventArgs; @@ -74,13 +74,27 @@ validateValue(getRead(), (Integer) AsyncDataProvider.getConfigValuePreConverted(maxRead)); validateValue(getWrite(), (Integer) AsyncDataProvider.getConfigValuePreConverted(maxWrite)); + if (getTotal().getEntity() != null && (getRead().getEntity() != null || getWrite().getEntity() != null)) { + setErrorMsg(getTotal()); + setErrorMsg(getRead()); + setErrorMsg(getWrite()); + } + setIsValid(getTotal().getIsValid() && getRead().getIsValid() && getWrite().getIsValid()); return getIsValid(); } + private void setErrorMsg(EntityModel<Integer> entityModel) { + if (entityModel.getEntity() != null) { + entityModel.setIsValid(false); + entityModel.getInvalidityReasons().add(ConstantsManager.getInstance() + .getConstants() + .eitherTotalOrReadWriteCanHaveValues()); + } + } + private void validateValue(EntityModel<Integer> entity, Integer maxValue) { entity.validateEntity(new IValidation[] { - new NotEmptyValidation(), new IntegerValidation(0, maxValue) }); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosParametersModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosParametersModel.java index 2d2c879..5ab37b0 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosParametersModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosParametersModel.java @@ -81,6 +81,7 @@ } } + @Override public boolean validate() { if (!getIsAvailable()) { return true; 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 d24b0ed..570eb4d 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 @@ -2404,5 +2404,8 @@ @DefaultStringValue("Insufficient parameters to test connectivity") String testFailedInsufficientParams(); + + @DefaultStringValue("Either Total or Read/Write can have values.") + String eitherTotalOrReadWriteCanHaveValues(); } -- To view, visit http://gerrit.ovirt.org/35676 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia4f69ce1b7751e066c6a1e15f482805bbc7df16a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomer Saban <tsa...@redhat.com> Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches