Hello Gilad Chaplik,
I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/35726
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 <[email protected]>
---
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/26/35726/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/35726
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia4f69ce1b7751e066c6a1e15f482805bbc7df16a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Tomer Saban <[email protected]>
Gerrit-Reviewer: Gilad Chaplik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches