Vitor de Lima has uploaded a new change for review.

Change subject: core: Architecture related queries
......................................................................

core: Architecture related queries

This introduces queries capable of returning the following:
* All processors compatible with a certain architecture
* Clusters compatible with a specific architecture
* Clusters of a StoragePool that are compatible with a host according
  to its set of CPU flags
* Clusters of a StoragePool that belong to a specific architecture
* Templates compatible with a specific cluster architecture (from a
  data cluster or from a storage domain)

Change-Id: I7ee9cbece6b06893c0101e074e21ca5ab6a8e561
Signed-off-by: Vitor de Lima <vitor.l...@eldorado.org.br>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllCompatibleServerCpuListQuery.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllCompatibleVdsGroupsQuery.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVdsGroupsByStoragePoolIdAndFlagsQuery.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVdsGroupsByStoragePoolIdQuery.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVmTemplatesByStoragePoolAndArchitectureQuery.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVmTemplatesFromStorageDomainAndArchitectureQuery.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ArchitectureQueryParameters.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllCompatibleServerCpuListParameters.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/IdAndArchitectureQueryParametersBase.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/StoragePoolAndArchitectureQueryParametersBase.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/StoragePoolAndFlagsQueryParametersBase.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
12 files changed, 443 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/55/17855/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllCompatibleServerCpuListQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllCompatibleServerCpuListQuery.java
new file mode 100644
index 0000000..2b39997
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllCompatibleServerCpuListQuery.java
@@ -0,0 +1,48 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
+import org.ovirt.engine.core.common.businessentities.ServerCpu;
+import org.ovirt.engine.core.common.businessentities.VDS;
+import org.ovirt.engine.core.common.businessentities.VDSGroup;
+import org.ovirt.engine.core.common.businessentities.VM;
+import 
org.ovirt.engine.core.common.queries.GetAllCompatibleServerCpuListParameters;
+import org.ovirt.engine.core.common.strategy.ArchStrategy;
+import org.ovirt.engine.core.common.strategy.ArchStrategyFactory;
+
+public class GetAllCompatibleServerCpuListQuery<P extends 
GetAllCompatibleServerCpuListParameters> extends QueriesCommandBase<P> {
+    public GetAllCompatibleServerCpuListQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        VDSGroup cluster = 
getDbFacade().getVdsGroupDao().get(getParameters().getClusterId());
+
+        List<VDS> allVdsForVdsGroup = 
getDbFacade().getVdsDao().getAllForVdsGroup(cluster.getId());
+
+        List<VM> allVmsForVdsGroup = 
getDbFacade().getVmDao().getAllForVdsGroup(cluster.getId());
+
+        List<ServerCpu> cpuList = 
CpuFlagsManagerHandler.AllServerCpuList(getParameters().getVersion());
+
+        if ((allVdsForVdsGroup.isEmpty() && allVmsForVdsGroup.isEmpty()) || 
StringUtils.isEmpty(cluster.getcpu_name()))
+        {
+            getQueryReturnValue().setReturnValue(cpuList);
+        } else {
+            ArchStrategy strategy = 
ArchStrategyFactory.getStrategy(cluster.getArchitectureType());
+
+            ArrayList<ServerCpu> filteredList = new ArrayList<ServerCpu>();
+
+            for (ServerCpu sc : cpuList) {
+
+                if (strategy.isCompatible(sc.getArchitecture())) {
+                    filteredList.add(sc);
+                }
+            }
+
+            getQueryReturnValue().setReturnValue(filteredList);
+        }
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllCompatibleVdsGroupsQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllCompatibleVdsGroupsQuery.java
new file mode 100644
index 0000000..baf1211
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllCompatibleVdsGroupsQuery.java
@@ -0,0 +1,40 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
+import org.ovirt.engine.core.common.businessentities.VDSGroup;
+import org.ovirt.engine.core.common.queries.ArchitectureQueryParameters;
+import org.ovirt.engine.core.common.strategy.ArchStrategy;
+import org.ovirt.engine.core.common.strategy.ArchStrategyFactory;
+
+public class GetAllCompatibleVdsGroupsQuery<P extends 
ArchitectureQueryParameters> extends QueriesCommandBase<P> {
+    public GetAllCompatibleVdsGroupsQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        List<VDSGroup> list = getDbFacade()
+                .getVdsGroupDao()
+                .getAll(getUserID(), getParameters().isFiltered());
+
+        ArrayList<VDSGroup> filteredList = new ArrayList<VDSGroup>();
+
+        ArchStrategy archStrategy =
+                
ArchStrategyFactory.getStrategy(getParameters().getArchitecture());
+
+        for (VDSGroup cluster : list) {
+            if (StringUtils.isNotEmpty(cluster.getcpu_name())) {
+                if (archStrategy.isCompatible(cluster.getArchitectureType())) {
+                    filteredList.add(cluster);
+                }
+            } else {
+                filteredList.add(cluster);
+            }
+        }
+
+        getQueryReturnValue().setReturnValue(filteredList);
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVdsGroupsByStoragePoolIdAndFlagsQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVdsGroupsByStoragePoolIdAndFlagsQuery.java
new file mode 100644
index 0000000..3ce6953
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVdsGroupsByStoragePoolIdAndFlagsQuery.java
@@ -0,0 +1,45 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
+import org.ovirt.engine.core.common.businessentities.ServerCpu;
+import org.ovirt.engine.core.common.businessentities.VDSGroup;
+import 
org.ovirt.engine.core.common.queries.StoragePoolAndFlagsQueryParametersBase;
+import org.ovirt.engine.core.common.strategy.ArchStrategy;
+import org.ovirt.engine.core.common.strategy.ArchStrategyFactory;
+
+public class GetCompatibleVdsGroupsByStoragePoolIdAndFlagsQuery<P extends 
StoragePoolAndFlagsQueryParametersBase>
+        extends QueriesCommandBase<P> {
+    public GetCompatibleVdsGroupsByStoragePoolIdAndFlagsQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        List<VDSGroup> clusterList = 
getDbFacade().getVdsGroupDao().getAllForStoragePool(
+                        getParameters().getStoragePoolId(),
+                        getUserID(),
+                getParameters().isFiltered());
+
+        ArrayList<VDSGroup> filteredList = new ArrayList<VDSGroup>();
+
+        for (VDSGroup cluster : clusterList) {
+            ServerCpu sc =
+                    
CpuFlagsManagerHandler.FindMaxServerCpuByFlags(getParameters().getFlags(),
+                            cluster.getcompatibility_version());
+
+            if (sc != null) {
+                ArchStrategy archStrategy =
+                        ArchStrategyFactory.getStrategy(sc.getArchitecture());
+
+                if (StringUtils.isEmpty(cluster.getcpu_name()) || 
archStrategy.isCompatible(cluster.getArchitectureType())) {
+                    filteredList.add(cluster);
+                }
+            }
+        }
+
+        getQueryReturnValue().setReturnValue(filteredList);
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVdsGroupsByStoragePoolIdQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVdsGroupsByStoragePoolIdQuery.java
new file mode 100644
index 0000000..f2160bb
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVdsGroupsByStoragePoolIdQuery.java
@@ -0,0 +1,39 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
+import org.ovirt.engine.core.common.businessentities.VDSGroup;
+import 
org.ovirt.engine.core.common.queries.StoragePoolAndArchitectureQueryParametersBase;
+import org.ovirt.engine.core.common.strategy.ArchStrategy;
+import org.ovirt.engine.core.common.strategy.ArchStrategyFactory;
+
+public class GetCompatibleVdsGroupsByStoragePoolIdQuery<P extends 
StoragePoolAndArchitectureQueryParametersBase>
+        extends QueriesCommandBase<P> {
+    public GetCompatibleVdsGroupsByStoragePoolIdQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+
+        List<VDSGroup> clusterList = 
getDbFacade().getVdsGroupDao().getAllForStoragePool(
+                        getParameters().getStoragePoolId(),
+                        getUserID(),
+                getParameters().isFiltered());
+
+        ArchStrategy archStrategy =
+                
ArchStrategyFactory.getStrategy(getParameters().getArchitecture());
+
+        ArrayList<VDSGroup> filteredList = new ArrayList<VDSGroup>();
+
+        for (VDSGroup cluster : clusterList) {
+            if (StringUtils.isEmpty(cluster.getcpu_name()) || 
archStrategy.isCompatible(cluster.getArchitectureType())) {
+                filteredList.add(cluster);
+            }
+        }
+
+        getQueryReturnValue().setReturnValue(filteredList);
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVmTemplatesByStoragePoolAndArchitectureQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVmTemplatesByStoragePoolAndArchitectureQuery.java
new file mode 100644
index 0000000..48d558c
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVmTemplatesByStoragePoolAndArchitectureQuery.java
@@ -0,0 +1,58 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ovirt.engine.core.common.businessentities.VmTemplate;
+import org.ovirt.engine.core.common.businessentities.StoragePool;
+import org.ovirt.engine.core.common.interfaces.SearchType;
+import 
org.ovirt.engine.core.common.queries.IdAndArchitectureQueryParametersBase;
+import org.ovirt.engine.core.common.queries.SearchParameters;
+import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.common.strategy.ArchStrategy;
+import org.ovirt.engine.core.common.strategy.ArchStrategyFactory;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+
+public class GetCompatibleVmTemplatesByStoragePoolAndArchitectureQuery<P 
extends IdAndArchitectureQueryParametersBase>
+        extends QueriesCommandBase<P> {
+    public GetCompatibleVmTemplatesByStoragePoolAndArchitectureQuery(P 
parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        StoragePool pool = 
DbFacade.getInstance().getStoragePoolDao().get(getParameters().getId());
+        SearchParameters p = new SearchParameters(String.format("Templates: 
DataCenter = %1$s", pool.getName()),
+                SearchType.VmTemplate);
+        p.setMaxCount(Integer.MAX_VALUE);
+        VdcQueryReturnValue returnValue = 
Backend.getInstance().runInternalQuery(VdcQueryType.Search, p);
+
+        if (returnValue != null && returnValue.getSucceeded()) {
+            List<VmTemplate> templateList = (List) 
returnValue.getReturnValue();
+
+            ArchStrategy archStrategy =
+                    
ArchStrategyFactory.getStrategy(getParameters().getArchitecture());
+
+            List<VmTemplate> filteredTemplateList = new 
ArrayList<VmTemplate>();
+
+            for (VmTemplate template : templateList) {
+                if 
(!template.getId().equals(VmTemplateHandler.BlankVmTemplateId)) {
+
+                    if (archStrategy.isCompatible(template.getArchitecture())) 
{
+                        filteredTemplateList.add(template);
+                    }
+                }
+            }
+
+            VmTemplate blank = DbFacade.getInstance().getVmTemplateDao()
+                    .get(VmTemplateHandler.BlankVmTemplateId);
+
+            if (!filteredTemplateList.contains(blank)) {
+                filteredTemplateList.add(0, blank);
+            }
+
+            getQueryReturnValue().setReturnValue(filteredTemplateList);
+        }
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVmTemplatesFromStorageDomainAndArchitectureQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVmTemplatesFromStorageDomainAndArchitectureQuery.java
new file mode 100644
index 0000000..8ccdb5d
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetCompatibleVmTemplatesFromStorageDomainAndArchitectureQuery.java
@@ -0,0 +1,51 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.ovirt.engine.core.common.businessentities.VmTemplate;
+import 
org.ovirt.engine.core.common.businessentities.comparators.DiskImageByDiskAliasComparator;
+import 
org.ovirt.engine.core.common.businessentities.comparators.VmTemplateComparerByDiskSize;
+import 
org.ovirt.engine.core.common.queries.IdAndArchitectureQueryParametersBase;
+import org.ovirt.engine.core.common.strategy.ArchStrategy;
+import org.ovirt.engine.core.common.strategy.ArchStrategyFactory;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+
+public class GetCompatibleVmTemplatesFromStorageDomainAndArchitectureQuery<P 
extends IdAndArchitectureQueryParametersBase>
+        extends QueriesCommandBase<P> {
+    public GetCompatibleVmTemplatesFromStorageDomainAndArchitectureQuery(P 
parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        List<VmTemplate> returnValue = DbFacade.getInstance()
+                .getVmTemplateDao()
+                .getAllForStorageDomain(getParameters().getId(),
+                                getUserID(),
+                                getParameters().isFiltered());
+
+        ArrayList<VmTemplate> filteredReturnValue = new 
ArrayList<VmTemplate>();
+
+        ArchStrategy archStrategy =
+                
ArchStrategyFactory.getStrategy(getParameters().getArchitecture());
+
+        for (VmTemplate template : returnValue) {
+
+            if ((template.getId().equals(VmTemplateHandler.BlankVmTemplateId))
+                    || archStrategy.isCompatible(template.getArchitecture())) {
+                filteredReturnValue.add(template);
+            }
+        }
+
+        for (VmTemplate template : filteredReturnValue) {
+            VmTemplateHandler.UpdateDisksFromDb(template);
+            java.util.Collections.sort(template.getDiskList(), new 
DiskImageByDiskAliasComparator());
+
+        }
+
+        Collections.sort(filteredReturnValue, Collections.reverseOrder(new 
VmTemplateComparerByDiskSize()));
+        getQueryReturnValue().setReturnValue(filteredReturnValue);
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ArchitectureQueryParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ArchitectureQueryParameters.java
new file mode 100644
index 0000000..ff82654
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ArchitectureQueryParameters.java
@@ -0,0 +1,20 @@
+package org.ovirt.engine.core.common.queries;
+
+import org.ovirt.engine.core.common.businessentities.ArchitectureType;
+
+public class ArchitectureQueryParameters extends VdcQueryParametersBase {
+
+    private static final long serialVersionUID = -4601447036978553847L;
+    private ArchitectureType architecture;
+
+    public ArchitectureQueryParameters() {
+    }
+
+    public ArchitectureQueryParameters(ArchitectureType architecture) {
+        this.architecture = architecture;
+    }
+
+    public ArchitectureType getArchitecture() {
+        return architecture;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllCompatibleServerCpuListParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllCompatibleServerCpuListParameters.java
new file mode 100644
index 0000000..00a7377
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllCompatibleServerCpuListParameters.java
@@ -0,0 +1,28 @@
+package org.ovirt.engine.core.common.queries;
+
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.compat.Version;
+
+public class GetAllCompatibleServerCpuListParameters extends 
VdcQueryParametersBase {
+    private static final long serialVersionUID = 2185588075742460441L;
+
+    public GetAllCompatibleServerCpuListParameters(Guid clusterId, Version 
version) {
+        _version = version;
+        _clusterId = clusterId;
+    }
+
+    private Version _version;
+
+    public Version getVersion() {
+        return _version;
+    }
+
+    private Guid _clusterId;
+
+    public Guid getClusterId() {
+        return _clusterId;
+    }
+
+    public GetAllCompatibleServerCpuListParameters() {
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/IdAndArchitectureQueryParametersBase.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/IdAndArchitectureQueryParametersBase.java
new file mode 100644
index 0000000..b66ac58
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/IdAndArchitectureQueryParametersBase.java
@@ -0,0 +1,36 @@
+package org.ovirt.engine.core.common.queries;
+
+import org.ovirt.engine.core.common.businessentities.ArchitectureType;
+import org.ovirt.engine.core.compat.Guid;
+
+public class IdAndArchitectureQueryParametersBase extends 
VdcQueryParametersBase {
+    private static final long serialVersionUID = 456774105536255492L;
+
+    private Guid privateId = Guid.Empty;
+
+    public Guid getId() {
+        return privateId;
+    }
+
+    private void setId(Guid value) {
+        privateId = value;
+    }
+
+    private ArchitectureType privateArchitecture;
+
+    public ArchitectureType getArchitecture() {
+        return privateArchitecture;
+    }
+
+    private void setArchitecture(ArchitectureType value) {
+        privateArchitecture = value;
+    }
+
+    public IdAndArchitectureQueryParametersBase(Guid id, ArchitectureType 
architecture) {
+        setId(id);
+        setArchitecture(architecture);
+    }
+
+    public IdAndArchitectureQueryParametersBase() {
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/StoragePoolAndArchitectureQueryParametersBase.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/StoragePoolAndArchitectureQueryParametersBase.java
new file mode 100644
index 0000000..26a7789
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/StoragePoolAndArchitectureQueryParametersBase.java
@@ -0,0 +1,36 @@
+package org.ovirt.engine.core.common.queries;
+
+import org.ovirt.engine.core.common.businessentities.ArchitectureType;
+import org.ovirt.engine.core.compat.Guid;
+
+public class StoragePoolAndArchitectureQueryParametersBase extends 
VdcQueryParametersBase {
+    private static final long serialVersionUID = -787464457141655217L;
+
+    private Guid privateStoragePoolId = Guid.Empty;
+    private ArchitectureType privateArchitecture;
+
+    public Guid getStoragePoolId() {
+        return privateStoragePoolId;
+    }
+
+    private void setStoragePoolId(Guid value) {
+        privateStoragePoolId = value;
+    }
+
+    public ArchitectureType getArchitecture() {
+        return privateArchitecture;
+    }
+
+    private void setArchitecture(ArchitectureType value) {
+        privateArchitecture = value;
+    }
+
+    public StoragePoolAndArchitectureQueryParametersBase(Guid storagePoolId, 
ArchitectureType architecture) {
+        setStoragePoolId(storagePoolId);
+        setArchitecture(architecture);
+    }
+
+    public StoragePoolAndArchitectureQueryParametersBase() {
+
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/StoragePoolAndFlagsQueryParametersBase.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/StoragePoolAndFlagsQueryParametersBase.java
new file mode 100644
index 0000000..ae0cd1f
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/StoragePoolAndFlagsQueryParametersBase.java
@@ -0,0 +1,36 @@
+package org.ovirt.engine.core.common.queries;
+
+import org.ovirt.engine.core.compat.Guid;
+
+public class StoragePoolAndFlagsQueryParametersBase extends 
VdcQueryParametersBase {
+    private static final long serialVersionUID = -1632035907787190691L;
+
+    private Guid privateStoragePoolId = Guid.Empty;
+
+    public Guid getStoragePoolId() {
+        return privateStoragePoolId;
+    }
+
+    private void setStoragePoolId(Guid value) {
+        privateStoragePoolId = value;
+    }
+
+    private String privateFlags;
+
+    public String getFlags() {
+        return privateFlags;
+    }
+
+    private void setFlags(String flags) {
+        privateFlags = flags;
+    }
+
+    public StoragePoolAndFlagsQueryParametersBase(Guid storagePoolId, String 
flags) {
+        setStoragePoolId(storagePoolId);
+        setFlags(flags);
+    }
+
+    public StoragePoolAndFlagsQueryParametersBase() {
+
+    }
+}
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 99efa1b..605282e 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
@@ -75,10 +75,13 @@
     GetVdsCertificateSubjectByVdsId(VdcQueryAuthType.User),
     GetVdsCertificateSubjectByVmId(VdcQueryAuthType.User),
     GetAllVdsGroups(VdcQueryAuthType.User),
+    GetAllCompatibleVdsGroups(VdcQueryAuthType.User),
     GetVdsGroupByVdsGroupId(VdcQueryAuthType.User), // needed when updating VM
     GetVdsGroupById(VdcQueryAuthType.User),
     GetVdsGroupByName(VdcQueryAuthType.User),
     GetVdsGroupsByStoragePoolId(VdcQueryAuthType.User),
+    GetCompatibleVdsGroupsByStoragePoolId(VdcQueryAuthType.User),
+    GetCompatibleVdsGroupsByStoragePoolIdAndFlags(VdcQueryAuthType.User),
 
     // Certificate
     GetCACertificate(VdcQueryAuthType.User),
@@ -90,6 +93,7 @@
     GetAllVmTemplates(VdcQueryAuthType.User),
     GetVmTemplatesDisks(VdcQueryAuthType.User),
     GetVmTemplatesByStoragePoolId,
+    GetCompatibleVmTemplatesByStoragePoolAndArchitecture,
     GetVmTemplatesByImageGuid,
     GetSystemPermissions,
 
@@ -167,6 +171,7 @@
 
     // License queries
     GetAllServerCpuList,
+    GetAllCompatibleServerCpuList,
 
     // Multi Level Administration queries
     GetAllRoles(VdcQueryAuthType.User),
@@ -199,6 +204,7 @@
     GetVmsFromExportDomain("org.ovirt.engine.core.bll.storage"),
     GetTemplatesFromExportDomain,
     GetVmTemplatesFromStorageDomain(VdcQueryAuthType.User),
+    
GetCompatibleVmTemplatesFromStorageDomainAndArchitecture(VdcQueryAuthType.User),
     GetAllStorageDomains(VdcQueryAuthType.User),
     GetExistingStorageDomainList,
     GetStorageDomainByIdAndStoragePoolId,


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7ee9cbece6b06893c0101e074e21ca5ab6a8e561
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Vitor de Lima <vitor.l...@eldorado.org.br>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to