Sergey Gotliv has uploaded a new change for review. Change subject: engine: Only iSCSI storage connections are viable for iSCSI Bond ......................................................................
engine: Only iSCSI storage connections are viable for iSCSI Bond Change-Id: Iae30db6aa0c5d2989e9e31566d6555d70259799e Signed-off-by: Sergey Gotliv <[email protected]> --- D backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetConnectableStorageServerConnectionsByStoragePoolIdQuery.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetStorageConnectionsByDataCenterIdAndStorageTypeQuery.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java 7 files changed, 68 insertions(+), 38 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/23720/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetConnectableStorageServerConnectionsByStoragePoolIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetConnectableStorageServerConnectionsByStoragePoolIdQuery.java deleted file mode 100644 index 3c1b923..0000000 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetConnectableStorageServerConnectionsByStoragePoolIdQuery.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.ovirt.engine.core.bll.storage; - -import org.ovirt.engine.core.bll.QueriesCommandBase; -import org.ovirt.engine.core.common.queries.IdQueryParameters; - -public class GetConnectableStorageServerConnectionsByStoragePoolIdQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { - - public GetConnectableStorageServerConnectionsByStoragePoolIdQuery(P parameters) { - super(parameters); - } - - @Override - protected void executeQueryCommand() { - getQueryReturnValue().setReturnValue( - getDbFacade().getStorageServerConnectionDao() - .getAllConnectableStorageSeverConnection(getParameters().getId())); - } -} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetStorageConnectionsByDataCenterIdAndStorageTypeQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetStorageConnectionsByDataCenterIdAndStorageTypeQuery.java new file mode 100644 index 0000000..fc17dfe --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetStorageConnectionsByDataCenterIdAndStorageTypeQuery.java @@ -0,0 +1,32 @@ +package org.ovirt.engine.core.bll.storage; + +import java.util.ArrayList; +import java.util.List; + +import org.ovirt.engine.core.bll.QueriesCommandBase; +import org.ovirt.engine.core.common.businessentities.StorageServerConnections; +import org.ovirt.engine.core.common.queries.GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters; + +public class GetStorageConnectionsByDataCenterIdAndStorageTypeQuery<P extends GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters> + extends QueriesCommandBase<P> { + + public GetStorageConnectionsByDataCenterIdAndStorageTypeQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + List<StorageServerConnections> result = new ArrayList<>(); + + List<StorageServerConnections> connections = getDbFacade().getStorageServerConnectionDao() + .getAllConnectableStorageSeverConnection(getParameters().getId()); + + for (StorageServerConnections connection : connections) { + if (connection.getstorage_type() == getParameters().getStorageType()) { + result.add(connection); + } + } + + getQueryReturnValue().setReturnValue(result); + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters.java new file mode 100644 index 0000000..268bb2c --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters.java @@ -0,0 +1,22 @@ +package org.ovirt.engine.core.common.queries; + +import org.ovirt.engine.core.common.businessentities.StorageType; +import org.ovirt.engine.core.compat.Guid; + +public class GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters extends IdQueryParameters { + + private static final long serialVersionUID = 3630182261969029480L; + + private StorageType storageType; + + public GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters() {} + + public GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters(Guid dataCenterId, StorageType storageType) { + super(dataCenterId); + this.storageType = storageType; + } + + public StorageType getStorageType() { + return storageType; + } +} 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 3dc50bc..91522f3 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 @@ -209,7 +209,7 @@ GetStorageServerConnectionsForDomain, GetStoragePoolById(VdcQueryAuthType.User), GetStorageDomainsByConnection, - GetConnectableStorageServerConnectionsByStoragePoolId, + GetStorageConnectionsByDataCenterIdAndStorageType, GetStorageDomainsByStoragePoolId(VdcQueryAuthType.User), GetStorageDomainsByImageId, GetVgList, diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java index 356559b..161524d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java @@ -97,6 +97,7 @@ import org.ovirt.engine.core.common.queries.GetImagesListByStoragePoolIdParameters; import org.ovirt.engine.core.common.queries.GetLunsByVgIdParameters; import org.ovirt.engine.core.common.queries.GetPermittedStorageDomainsByStoragePoolIdParameters; +import org.ovirt.engine.core.common.queries.GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters; import org.ovirt.engine.core.common.queries.GetStorageDomainsByConnectionParameters; import org.ovirt.engine.core.common.queries.GetStoragePoolsByClusterServiceParameters; import org.ovirt.engine.core.common.queries.GetTagsByUserGroupIdParameters; @@ -2509,16 +2510,18 @@ Frontend.getInstance().runQuery(VdcQueryType.GetNetworksByDataCenterId, params, aQuery); } - public static void getAllDataCenterStorageConnections(AsyncQuery aQuery, Guid storagePoolId) { + public static void getDataCenterStorageConnectionsByType(final AsyncQuery aQuery, + final Guid storagePoolId, + final StorageType storageType) { aQuery.converterCallback = new IAsyncConverter() { @Override public Object Convert(Object source, AsyncQuery _asyncQuery) { - return source != null ? (ArrayList<StorageServerConnections>) source : new ArrayList<StorageServerConnections>(); + return source; } }; - IdQueryParameters params = new IdQueryParameters(storagePoolId); - Frontend.getInstance().runQuery(VdcQueryType.GetConnectableStorageServerConnectionsByStoragePoolId, params, aQuery); + IdQueryParameters params = new GetStorageConnectionsByDataCenterIdAndStorageTypeQueryParameters(storagePoolId, storageType); + Frontend.getInstance().runQuery(VdcQueryType.GetStorageConnectionsByDataCenterIdAndStorageType, params, aQuery); } public static void getRedirectServletReportsPage(AsyncQuery aQuery) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java index c917fa5..fe34c1b 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java @@ -897,24 +897,14 @@ } private void updateIscsiBondListAvailability(StoragePool storagePool) { - AsyncDataProvider.getAllDataCenterStorageConnections(new AsyncQuery(this, new INewAsyncCallback() { + AsyncDataProvider.getDataCenterStorageConnectionsByType(new AsyncQuery(this, new INewAsyncCallback() { @Override public void onSuccess(Object model, Object returnValue) { - boolean hasIscsiStorage = false; - ArrayList<StorageServerConnections> connections = (ArrayList<StorageServerConnections>) returnValue; - - for (StorageServerConnections connection : connections) { - if (connection.getstorage_type() == StorageType.ISCSI) { - hasIscsiStorage = true; - break; - } - } - - iscsiBondListModel.setIsAvailable(hasIscsiStorage); + iscsiBondListModel.setIsAvailable(!connections.isEmpty()); } - }), storagePool.getId()); + }), storagePool.getId(), StorageType.ISCSI); } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java index 5297b7e..5513e02 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java @@ -13,6 +13,7 @@ import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.IscsiBond; import org.ovirt.engine.core.common.businessentities.StorageServerConnections; +import org.ovirt.engine.core.common.businessentities.StorageType; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.ui.frontend.AsyncQuery; @@ -88,7 +89,7 @@ } private void initializeStorageTargetsList() { - AsyncDataProvider.getAllDataCenterStorageConnections(new AsyncQuery(this, new INewAsyncCallback() { + AsyncDataProvider.getDataCenterStorageConnectionsByType(new AsyncQuery(this, new INewAsyncCallback() { @Override public void onSuccess(Object target, Object returnValue) { ArrayList<StorageServerConnections> selected = new ArrayList<StorageServerConnections>(); @@ -106,7 +107,7 @@ model.getStorageTargets().setItems(conns); model.getStorageTargets().setSelectedItems(selected); } - }), getStoragePool().getId()); + }), getStoragePool().getId(), StorageType.ISCSI); } @Override -- To view, visit http://gerrit.ovirt.org/23720 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iae30db6aa0c5d2989e9e31566d6555d70259799e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Sergey Gotliv <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
