Moti Asayag has uploaded a new change for review.

Change subject: engine: Introduce queries for vms errata
......................................................................

engine: Introduce queries for vms errata

Change-Id: Id3b2e149f64eb55d30bb093b5d82c68401edc5a3
Bug-Url: https://bugzilla.redhat.com/1157377
Signed-off-by: Moti Asayag <[email protected]>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetErrataForVmQuery.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetErratumByIdForVmQuery.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
3 files changed, 84 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/40720/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetErrataForVmQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetErrataForVmQuery.java
new file mode 100644
index 0000000..41f5231
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetErrataForVmQuery.java
@@ -0,0 +1,44 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.Collections;
+
+import javax.inject.Inject;
+
+import org.ovirt.engine.core.bll.host.provider.HostProviderProxy;
+import org.ovirt.engine.core.bll.provider.ProviderProxyFactory;
+import org.ovirt.engine.core.common.businessentities.Erratum;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.common.businessentities.VM;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.dao.VmDAO;
+import org.ovirt.engine.core.dao.provider.ProviderDao;
+
+public class GetErrataForVmQuery<P extends IdQueryParameters> extends 
QueriesCommandBase<P> {
+
+    @Inject
+    private VmDAO vmDao;
+
+    @Inject
+    private ProviderDao providerDao;
+
+    public GetErrataForVmQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        VM vm = vmDao.get(getParameters().getId());
+        if (vm == null || vm.getVmFQDN() == null) {
+            getQueryReturnValue().setReturnValue(Collections.<Erratum> 
emptyList());
+            return;
+        }
+
+        Provider<?> provider = providerDao.get(vm.getProviderId());
+        if (provider != null) {
+            HostProviderProxy proxy = (HostProviderProxy) 
ProviderProxyFactory.getInstance().create(provider);
+            
getQueryReturnValue().setReturnValue(proxy.getErrataForHost(vm.getVmFQDN()));
+        } else {
+            getQueryReturnValue().setReturnValue(Collections.<Erratum> 
emptyList());
+        }
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetErratumByIdForVmQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetErratumByIdForVmQuery.java
new file mode 100644
index 0000000..cefd62c
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetErratumByIdForVmQuery.java
@@ -0,0 +1,38 @@
+package org.ovirt.engine.core.bll;
+
+import javax.inject.Inject;
+
+import org.ovirt.engine.core.bll.host.provider.HostProviderProxy;
+import org.ovirt.engine.core.bll.provider.ProviderProxyFactory;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.common.businessentities.VM;
+import org.ovirt.engine.core.common.queries.HostErratumQueryParameters;
+import org.ovirt.engine.core.dao.VmDAO;
+import org.ovirt.engine.core.dao.provider.ProviderDao;
+
+public class GetErratumByIdForVmQuery<P extends HostErratumQueryParameters> 
extends QueriesCommandBase<P> {
+
+    @Inject
+    private VmDAO vmDao;
+
+    @Inject
+    private ProviderDao providerDao;
+
+    public GetErratumByIdForVmQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        VM vm = vmDao.get(getParameters().getId());
+        if (vm == null || vm.getProviderId() == null) {
+            return;
+        }
+
+        Provider<?> provider = providerDao.get(vm.getProviderId());
+        if (provider != null) {
+            HostProviderProxy proxy = (HostProviderProxy) 
ProviderProxyFactory.getInstance().create(provider);
+            
getQueryReturnValue().setReturnValue(proxy.getErratumForHost(vm.getVmFQDN(), 
getParameters().getErratumId()));
+        }
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index 26119cd..897e570 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -67,6 +67,8 @@
     GetErrataForSystem,
     GetErratumByIdForSystem,
     GetErrataCountsForHost,
+    GetErrataForVm,
+    GetErratumByIdForVm,
 
     // VdsStatic Queries
     GetVdsStaticByName,


-- 
To view, visit https://gerrit.ovirt.org/40720
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id3b2e149f64eb55d30bb093b5d82c68401edc5a3
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to