Gilad Chaplik has uploaded a new change for review.

Change subject: core: Add crud commands and queries for Cpu Qos
......................................................................

core: Add crud commands and queries for Cpu Qos

Adding commands to hanle the new Cpu Qos
With multiple paragraphs if necessary.

Using qos infra to handle queries.

Change-Id: I101b1325e89e68f548bfcf83fe7e0033b88419e6
Bug-Url: https://bugzilla.redhat.com/1084930
Signed-off-by: Gilad Chaplik <gchap...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/AddCpuQosCommand.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/RemoveCpuQosCommand.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/UpdateCpuQosCommand.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/CpuQosValidator.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
6 files changed, 107 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/21/31821/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java
index 0b91480..2a96dc0 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java
@@ -22,7 +22,9 @@
         case STORAGE:
             qosDao = getDbFacade().getStorageQosDao();
             break;
-
+        case CPU:
+            qosDao = getDbFacade().getCpuQosDao();
+            break;
         default:
             log.debugFormat("Not handled QoS type: {0}", qosType);
             break;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/AddCpuQosCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/AddCpuQosCommand.java
new file mode 100644
index 0000000..52ffccb
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/AddCpuQosCommand.java
@@ -0,0 +1,25 @@
+package org.ovirt.engine.core.bll.qos;
+
+import org.ovirt.engine.core.bll.validator.CpuQosValidator;
+import org.ovirt.engine.core.bll.validator.QosValidator;
+import org.ovirt.engine.core.common.action.QosParametersBase;
+import org.ovirt.engine.core.common.businessentities.qos.CpuQos;
+import org.ovirt.engine.core.dao.qos.QosDao;
+
+public class AddCpuQosCommand extends AddQosCommand<CpuQos, 
QosValidator<CpuQos>> {
+
+    public AddCpuQosCommand(QosParametersBase<CpuQos> parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected QosDao<CpuQos> getQosDao() {
+        return getDbFacade().getCpuQosDao();
+    }
+
+    @Override
+    protected QosValidator<CpuQos> getQosValidator(CpuQos qos) {
+        return new CpuQosValidator(qos);
+    }
+
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/RemoveCpuQosCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/RemoveCpuQosCommand.java
new file mode 100644
index 0000000..edd94fe
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/RemoveCpuQosCommand.java
@@ -0,0 +1,25 @@
+package org.ovirt.engine.core.bll.qos;
+
+import org.ovirt.engine.core.bll.validator.CpuQosValidator;
+import org.ovirt.engine.core.bll.validator.QosValidator;
+import org.ovirt.engine.core.common.action.QosParametersBase;
+import org.ovirt.engine.core.common.businessentities.qos.CpuQos;
+import org.ovirt.engine.core.dao.qos.QosDao;
+
+public class RemoveCpuQosCommand extends RemoveQosCommandBase<CpuQos, 
QosValidator<CpuQos>> {
+
+    public RemoveCpuQosCommand(QosParametersBase<CpuQos> parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected QosDao<CpuQos> getQosDao() {
+        return getDbFacade().getCpuQosDao();
+    }
+
+    @Override
+    protected QosValidator<CpuQos> getQosValidator(CpuQos qos) {
+        return new CpuQosValidator(qos);
+    }
+
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/UpdateCpuQosCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/UpdateCpuQosCommand.java
new file mode 100644
index 0000000..7049157
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/UpdateCpuQosCommand.java
@@ -0,0 +1,24 @@
+package org.ovirt.engine.core.bll.qos;
+
+import org.ovirt.engine.core.bll.validator.CpuQosValidator;
+import org.ovirt.engine.core.bll.validator.QosValidator;
+import org.ovirt.engine.core.common.action.QosParametersBase;
+import org.ovirt.engine.core.common.businessentities.qos.CpuQos;
+import org.ovirt.engine.core.dao.qos.QosDao;
+
+public class UpdateCpuQosCommand extends UpdateQosCommandBase<CpuQos, 
QosValidator<CpuQos>> {
+
+    public UpdateCpuQosCommand(QosParametersBase<CpuQos> parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected QosDao<CpuQos> getQosDao() {
+        return getDbFacade().getCpuQosDao();
+    }
+
+    @Override
+    protected QosValidator<CpuQos> getQosValidator(CpuQos qos) {
+        return new CpuQosValidator(qos);
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/CpuQosValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/CpuQosValidator.java
new file mode 100644
index 0000000..c0c788c
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/CpuQosValidator.java
@@ -0,0 +1,27 @@
+package org.ovirt.engine.core.bll.validator;
+
+import org.ovirt.engine.core.bll.ValidationResult;
+import org.ovirt.engine.core.common.businessentities.qos.CpuQos;
+import org.ovirt.engine.core.common.errors.VdcBllMessages;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dao.qos.QosDao;
+
+public class CpuQosValidator extends QosValidator<CpuQos> {
+
+    public CpuQosValidator(CpuQos qos) {
+        super(qos);
+    }
+
+    @Override
+    protected QosDao<CpuQos> getQosDao() {
+        return DbFacade.getInstance().getCpuQosDao();
+    }
+
+    @Override
+    public ValidationResult allValuesPresent() {
+        if (getQos().getCpuLimit() == null) {
+            return new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_QOS_MISSING_VALUES);
+        }
+        return ValidationResult.VALID;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
index 5f03344..b19fa6f 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
@@ -332,6 +332,9 @@
     AddStorageQos(1753, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, 
QuotaDependency.NONE),
     UpdateStorageQos(1754, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, 
QuotaDependency.NONE),
     RemoveStorageQos(1755, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, 
QuotaDependency.NONE),
+    AddCpuQos(1756, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, 
QuotaDependency.NONE),
+    UpdateCpuQos(1757, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, 
QuotaDependency.NONE),
+    RemoveCpuQos(1758, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, 
QuotaDependency.NONE),
     // disk profiles
     AddDiskProfile(1760, ActionGroup.CREATE_STORAGE_DISK_PROFILE, false, 
QuotaDependency.NONE),
     UpdateDiskProfile(1761, ActionGroup.CONFIGURE_STORAGE_DISK_PROFILE, false, 
QuotaDependency.NONE),


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I101b1325e89e68f548bfcf83fe7e0033b88419e6
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to