Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Refactor QoS model side
......................................................................

webadmin: Refactor QoS model side

The hierarchy was overly-complex; the new and edit branches of the
hierarchy tree were hardly any different and did not merit
separation. The logic of the separation was also inconsistent, as
executeSave() was shared but performed operations the edit branch
didn't require, while the init() was mutually exclusive.

Also added validation for QosParametersModel as part of the generic
QosModel flow.

Change-Id: I2374a54fbe1dc744b71071869b4a23ebc100acea
Signed-off-by: Lior Vernia <[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/DataCenterCpuQosListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterQosListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterStorageQosListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditCpuQosModel.java
D 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditQosModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditStorageQosModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewCpuQosModel.java
D 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewQosModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewStorageQosModel.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/StorageQosParametersModel.java
13 files changed, 62 insertions(+), 115 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/25/34125/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 ae02c49..83c2b67 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/DataCenterCpuQosListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterCpuQosListModel.java
index 7dd938f..a96fc60 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterCpuQosListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterCpuQosListModel.java
@@ -27,12 +27,12 @@
     }
 
     @Override
-    protected NewQosModel<CpuQos, CpuQosParametersModel> getNewQosModel() {
+    protected QosModel<CpuQos, CpuQosParametersModel> getNewQosModel() {
         return new NewCpuQosModel(this, getEntity());
     }
 
     @Override
-    protected EditQosModel<CpuQos, CpuQosParametersModel> 
getEditQosModel(CpuQos qoS) {
+    protected QosModel<CpuQos, CpuQosParametersModel> getEditQosModel(CpuQos 
qoS) {
         return new EditCpuQosModel((CpuQos) getSelectedItem(), this, 
getEntity());
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterQosListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterQosListModel.java
index 23d99ed..6c30622 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterQosListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterQosListModel.java
@@ -42,9 +42,9 @@
 
     protected abstract QosType getQosType();
 
-    protected abstract NewQosModel<T, P> getNewQosModel();
+    protected abstract QosModel<T, P> getNewQosModel();
 
-    protected abstract EditQosModel<T, P> getEditQosModel(final T qoS);
+    protected abstract QosModel<T, P> getEditQosModel(final T qoS);
 
     protected abstract RemoveQosModel<T> getRemoveQosModel();
 
@@ -140,7 +140,7 @@
             return;
         }
 
-        final EditQosModel<T, P> qosModel = getEditQosModel(qos);
+        final QosModel<T, P> qosModel = getEditQosModel(qos);
         setWindow(qosModel);
 
         qosModel.getDataCenters().setItems(Arrays.asList(getEntity()), 
getEntity());
@@ -170,7 +170,7 @@
             return;
         }
 
-        final NewQosModel<T, P> newQosModel = getNewQosModel();
+        final QosModel<T, P> newQosModel = getNewQosModel();
         setWindow(newQosModel);
 
         newQosModel.getDataCenters().setItems(Arrays.asList(getEntity()), 
getEntity());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterStorageQosListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterStorageQosListModel.java
index 142296a..f21ea43 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterStorageQosListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterStorageQosListModel.java
@@ -27,12 +27,12 @@
     }
 
     @Override
-    protected NewQosModel<StorageQos, StorageQosParametersModel> 
getNewQosModel() {
+    protected QosModel<StorageQos, StorageQosParametersModel> getNewQosModel() 
{
         return new NewStorageQosModel(this, getEntity());
     }
 
     @Override
-    protected EditQosModel<StorageQos, StorageQosParametersModel> 
getEditQosModel(StorageQos qoS) {
+    protected QosModel<StorageQos, StorageQosParametersModel> 
getEditQosModel(StorageQos qoS) {
         return new EditStorageQosModel((StorageQos) getSelectedItem(), this, 
getEntity());
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditCpuQosModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditCpuQosModel.java
index ad96f7f..97dd4fd 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditCpuQosModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditCpuQosModel.java
@@ -8,10 +8,10 @@
 import org.ovirt.engine.ui.uicommonweb.models.Model;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 
-public class EditCpuQosModel extends EditQosModel<CpuQos, 
CpuQosParametersModel> {
+public class EditCpuQosModel extends QosModel<CpuQos, CpuQosParametersModel> {
 
     public EditCpuQosModel(CpuQos qos, Model sourceModel, StoragePool 
dataCenter) {
-        super(qos, sourceModel, dataCenter);
+        super(qos, new CpuQosParametersModel(), sourceModel, dataCenter);
     }
 
     @Override
@@ -25,14 +25,6 @@
         qosParametersBase.setQos(getQos());
         qosParametersBase.setQosId(getQos().getId());
         return qosParametersBase;
-    }
-
-    @Override
-    public void init(CpuQos qos) {
-        super.init(qos);
-
-        setQosParametersModel(new CpuQosParametersModel());
-        getQosParametersModel().init(qos);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditQosModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditQosModel.java
deleted file mode 100644
index 3a25d8c..0000000
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditQosModel.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.ovirt.engine.ui.uicommonweb.models.datacenters.qos;
-
-import org.ovirt.engine.core.common.businessentities.StoragePool;
-import org.ovirt.engine.core.common.businessentities.qos.QosBase;
-import org.ovirt.engine.ui.uicommonweb.models.Model;
-
-public abstract class EditQosModel<T extends QosBase, P extends 
QosParametersModel<T>> extends NewQosModel<T, P> {
-
-    public EditQosModel(T qos, Model sourceModel, StoragePool dataCenter) {
-        super(sourceModel, dataCenter);
-        init(qos);
-    }
-
-    @Override
-    public void init(T qos) {
-        setQos(qos);
-        getName().setEntity(qos.getName());
-        getDescription().setEntity(qos.getDescription());
-    }
-}
-
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditStorageQosModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditStorageQosModel.java
index 9747ad1..b29bd14 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditStorageQosModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditStorageQosModel.java
@@ -8,10 +8,10 @@
 import org.ovirt.engine.ui.uicommonweb.models.Model;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 
-public class EditStorageQosModel extends EditQosModel<StorageQos, 
StorageQosParametersModel> {
+public class EditStorageQosModel extends QosModel<StorageQos, 
StorageQosParametersModel> {
 
     public EditStorageQosModel(StorageQos qos, Model sourceModel, StoragePool 
dataCenter) {
-        super(qos, sourceModel, dataCenter);
+        super(qos, new StorageQosParametersModel(), sourceModel, dataCenter);
     }
 
     @Override
@@ -25,14 +25,6 @@
         qosParametersBase.setQos(getQos());
         qosParametersBase.setQosId(getQos().getId());
         return qosParametersBase;
-    }
-
-    @Override
-    public void init(StorageQos qos) {
-        super.init(qos);
-
-        setQosParametersModel(new StorageQosParametersModel());
-        getQosParametersModel().init(qos);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewCpuQosModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewCpuQosModel.java
index 6814f8d..25c5380 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewCpuQosModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewCpuQosModel.java
@@ -8,11 +8,10 @@
 import org.ovirt.engine.ui.uicommonweb.models.Model;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 
-public class NewCpuQosModel extends NewQosModel<CpuQos, CpuQosParametersModel> 
{
+public class NewCpuQosModel extends QosModel<CpuQos, CpuQosParametersModel> {
 
     public NewCpuQosModel(Model sourceModel, StoragePool dataCenter) {
-        super(sourceModel, dataCenter);
-        init(new CpuQos());
+        super(new CpuQos(), new CpuQosParametersModel(), sourceModel, 
dataCenter);
     }
 
     @Override
@@ -25,13 +24,6 @@
         QosParametersBase<CpuQos> qosParametersBase = new 
QosParametersBase<CpuQos>();
         qosParametersBase.setQos(getQos());
         return qosParametersBase;
-    }
-
-    @Override
-    public void init(CpuQos qos) {
-        setQos(qos);
-        setQosParametersModel(new CpuQosParametersModel());
-        getQosParametersModel().init(qos);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewQosModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewQosModel.java
deleted file mode 100644
index 3d4aaf8..0000000
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewQosModel.java
+++ /dev/null
@@ -1,40 +0,0 @@
-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.action.VdcReturnValueBase;
-import org.ovirt.engine.core.common.businessentities.StoragePool;
-import org.ovirt.engine.core.common.businessentities.qos.QosBase;
-import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.ui.frontend.Frontend;
-import org.ovirt.engine.ui.uicommonweb.models.Model;
-import org.ovirt.engine.ui.uicompat.FrontendActionAsyncResult;
-import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback;
-
-public abstract class NewQosModel<T extends QosBase, P extends 
QosParametersModel<T>> extends QosModel<T, P> {
-    public NewQosModel(Model sourceModel, StoragePool dataCenter) {
-        super(sourceModel, dataCenter);
-    }
-
-    @Override
-    protected void executeSave() {
-        final QosParametersBase<T> parameters = getParameters();
-        parameters.setQos(getQos());
-        Frontend.getInstance().runAction(getVdcAction(), parameters, new 
IFrontendActionAsyncCallback() {
-            @Override
-            public void executed(FrontendActionAsyncResult result1) {
-                VdcReturnValueBase retVal = result1.getReturnValue();
-                boolean succeeded = false;
-                if (retVal != null && retVal.getSucceeded()) {
-                    succeeded = true;
-                    getQos().setId((Guid) retVal.getActionReturnValue());
-                }
-                postSaveAction(succeeded);
-            }
-        });
-    }
-
-    protected abstract VdcActionType getVdcAction();
-
-    protected abstract QosParametersBase<T> getParameters();
-}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewStorageQosModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewStorageQosModel.java
index 2c223b1..99351fc 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewStorageQosModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/NewStorageQosModel.java
@@ -8,11 +8,10 @@
 import org.ovirt.engine.ui.uicommonweb.models.Model;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 
-public class NewStorageQosModel extends NewQosModel<StorageQos, 
StorageQosParametersModel> {
+public class NewStorageQosModel extends QosModel<StorageQos, 
StorageQosParametersModel> {
 
     public NewStorageQosModel(Model sourceModel, StoragePool dataCenter) {
-        super(sourceModel, dataCenter);
-        init(new StorageQos());
+        super(new StorageQos(), new StorageQosParametersModel(), sourceModel, 
dataCenter);
     }
 
     @Override
@@ -25,13 +24,6 @@
         QosParametersBase<StorageQos> qosParametersBase = new 
QosParametersBase<StorageQos>();
         qosParametersBase.setQos(getQos());
         return qosParametersBase;
-    }
-
-    @Override
-    public void init(StorageQos qos) {
-        setQos(qos);
-        setQosParametersModel(new StorageQosParametersModel());
-        getQosParametersModel().init(qos);
     }
 
     @Override
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..e641e61 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
@@ -1,7 +1,12 @@
 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.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.qos.QosBase;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.help.HelpTag;
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
@@ -12,6 +17,8 @@
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
+import org.ovirt.engine.ui.uicompat.FrontendActionAsyncResult;
+import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback;
 
 public abstract class QosModel<T extends QosBase, P extends 
QosParametersModel<T>> extends Model {
     private T qos;
@@ -21,7 +28,7 @@
     private EntityModel<String> name;
     private EntityModel<String> description;
 
-    public QosModel(Model sourceModel, StoragePool dataCenter) {
+    protected QosModel(T qos, P qosParametersModel, Model sourceModel, 
StoragePool dataCenter) {
         this.sourceModel = sourceModel;
 
         setName(new EntityModel<String>());
@@ -35,12 +42,24 @@
         setHashName(getHashName());
 
         addCommands();
+
+        init(qos, qosParametersModel);
+    }
+
+    private void init(T qos, P qosParametersModel) {
+        setQos(qos);
+        getName().setEntity(qos.getName());
+        getDescription().setEntity(qos.getDescription());
+
+        setQosParametersModel(qosParametersModel);
+        getQosParametersModel().init(qos);
     }
 
     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();
     }
 
@@ -63,9 +82,26 @@
         return getQos();
     }
 
-    protected abstract void executeSave();
+    protected void executeSave() {
+        final QosParametersBase<T> parameters = getParameters();
+        parameters.setQos(getQos());
+        Frontend.getInstance().runAction(getVdcAction(), parameters, new 
IFrontendActionAsyncCallback() {
+            @Override
+            public void executed(FrontendActionAsyncResult result1) {
+                VdcReturnValueBase retVal = result1.getReturnValue();
+                boolean succeeded = false;
+                if (retVal != null && retVal.getSucceeded()) {
+                    succeeded = true;
+                    getQos().setId((Guid) retVal.getActionReturnValue());
+                }
+                postSaveAction(succeeded);
+            }
+        });
+    }
 
-    public abstract void init(T qos);
+    protected abstract VdcActionType getVdcAction();
+
+    protected abstract QosParametersBase<T> getParameters();
 
     @Override
     public abstract String getTitle();
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..b5e1e3f 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
@@ -1,12 +1,14 @@
 package org.ovirt.engine.ui.uicommonweb.models.datacenters.qos;
 
 import org.ovirt.engine.core.common.businessentities.qos.QosBase;
-import org.ovirt.engine.ui.uicommonweb.models.Model;
+import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 
-public abstract class QosParametersModel<T extends QosBase> extends Model {
+public abstract class QosParametersModel<T extends QosBase> extends 
EntityModel<T> {
 
     public abstract void init(T qos);
 
     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/StorageQosParametersModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosParametersModel.java
index bdead88..2d5230f 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
@@ -80,6 +80,7 @@
         }
     }
 
+    @Override
     public boolean validate() {
         if (!getIsAvailable()) {
             return true;


-- 
To view, visit http://gerrit.ovirt.org/34125
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2374a54fbe1dc744b71071869b4a23ebc100acea
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

Reply via email to