Maor Lipchuk has uploaded a new change for review.

Change subject: core[WIP]: Add query to get Storage Domains for targets
......................................................................

core[WIP]: Add query to get Storage Domains for targets

Adding a query for importing block domain

WIP: Currently returns a mock of all the domains, and all the targets
retrieved from the GUI

Change-Id: Ib7606d294afc3f56148f2c591259f6564bb9aa1b
Signed-off-by: Maor Lipchuk <mlipc...@redhat.com>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainsAndTargetsQuery.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdsAndIqnQueryParameters.java
3 files changed, 93 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/29028/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainsAndTargetsQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainsAndTargetsQuery.java
new file mode 100644
index 0000000..180283f
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainsAndTargetsQuery.java
@@ -0,0 +1,59 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ovirt.engine.core.common.businessentities.LUNs;
+import org.ovirt.engine.core.common.businessentities.SANState;
+import org.ovirt.engine.core.common.businessentities.StorageDomain;
+import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
+import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
+import org.ovirt.engine.core.common.queries.VdsAndIqnQueryParameters;
+import org.ovirt.engine.core.common.utils.Pair;
+import org.ovirt.engine.core.common.vdscommands.GetVGInfoVDSCommandParameters;
+import 
org.ovirt.engine.core.common.vdscommands.HSMGetStorageDomainInfoVDSCommandParameters;
+import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
+import org.ovirt.engine.core.common.vdscommands.VDSReturnValue;
+
+public class GetStorageDomainsAndTargetsQuery<P extends 
VdsAndIqnQueryParameters> extends QueriesCommandBase<P> {
+    public GetStorageDomainsAndTargetsQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        List<StorageDomain> storageDomainList = new ArrayList<>();
+        List<StorageServerConnections> succeededStorageServerConnections = new 
ArrayList<>();
+        if (getParameters().getStorageServerConnections() != null) {
+            for (StorageServerConnections storageConnection : 
getParameters().getStorageServerConnections()) {
+                VDSReturnValue returnValue =
+                        Backend.getInstance()
+                                .getResourceManager()
+                                .RunVdsCommand(VDSCommandType.GetVGInfo,
+                                        new 
GetVGInfoVDSCommandParameters(getParameters().getVdsId(),
+                                                
storageConnection.getconnection()));
+                if (returnValue.getSucceeded()) {
+                    @SuppressWarnings("unchecked")
+                    final ArrayList<LUNs> luns = (ArrayList<LUNs>) 
returnValue.getReturnValue();
+                    LUNs lun = luns.get(0);
+                    @SuppressWarnings("unchecked")
+                    Pair<StorageDomainStatic, SANState> domainFromIrs =
+                            (Pair<StorageDomainStatic, SANState>) 
Backend.getInstance()
+                                    .getResourceManager()
+                                    
.RunVdsCommand(VDSCommandType.HSMGetStorageDomainInfo,
+                                            new 
HSMGetStorageDomainInfoVDSCommandParameters(getParameters().getVdsId(),
+                                                    lun.getStorageDomainId()))
+                                    .getReturnValue();
+                    succeededStorageServerConnections.add(storageConnection);
+                }
+            }
+            // TODO: Mock, it should be removed after we will get all Storage 
Domains.
+            storageDomainList = getDbFacade().getStorageDomainDao().getAll();
+        }
+        Pair<List<StorageDomain>, List<StorageServerConnections>> 
succeededStorageServerConnectionsAndStorageDomains =
+                new Pair<>();
+        
succeededStorageServerConnectionsAndStorageDomains.setFirst(storageDomainList);
+        
succeededStorageServerConnectionsAndStorageDomains.setSecond(succeededStorageServerConnections);
+        
getQueryReturnValue().setReturnValue(succeededStorageServerConnectionsAndStorageDomains);
+    }
+}
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 1bd530a..c1b924a 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
@@ -11,6 +11,7 @@
     GetAllVmsForUser(VdcQueryAuthType.User),
     GetUnregisteredVms,
     GetUnregisteredVmTemplates,
+    GetStorageDomainsAndTargets,
     GetVmsRunningOnOrMigratingToVds,
     GetVmsByStorageDomain,
     GetVmsByInstanceTypeId,
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdsAndIqnQueryParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdsAndIqnQueryParameters.java
new file mode 100644
index 0000000..08781dc
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdsAndIqnQueryParameters.java
@@ -0,0 +1,33 @@
+package org.ovirt.engine.core.common.queries;
+
+import java.util.List;
+
+import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
+import org.ovirt.engine.core.compat.Guid;
+
+public class VdsAndIqnQueryParameters extends VdcQueryParametersBase {
+    private static final long serialVersionUID = 896685699678878292L;
+
+    private List<StorageServerConnections> storageServerConnections;
+    private Guid vdsId;
+
+    public VdsAndIqnQueryParameters() {
+    }
+
+    public List<StorageServerConnections> getStorageServerConnections() {
+        return storageServerConnections;
+    }
+
+    public void setStorageServerConnections(List<StorageServerConnections> 
storageServerConnections) {
+        this.storageServerConnections = storageServerConnections;
+    }
+
+    public Guid getVdsId() {
+        return vdsId;
+    }
+
+    public void setVdsId(Guid vdsId) {
+        this.vdsId = vdsId;
+    }
+
+}


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib7606d294afc3f56148f2c591259f6564bb9aa1b
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Maor Lipchuk <mlipc...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to