Alona Kaplan has uploaded a new change for review. Change subject: code: Adding GetInterfacesAttachedToNetworkViaLabelQuery ......................................................................
code: Adding GetInterfacesAttachedToNetworkViaLabelQuery A query that returns all the VdsNetworkInterface entities the network in the parameter is attached to them via label. Change-Id: Ib5701455e2b372e4b656c87e05781fe05a95f9f0 Signed-off-by: Alona Kaplan <alkap...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInterfacesAttachedToNetworkViaLabelQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java 2 files changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/03/27803/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInterfacesAttachedToNetworkViaLabelQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInterfacesAttachedToNetworkViaLabelQuery.java new file mode 100644 index 0000000..802e346 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInterfacesAttachedToNetworkViaLabelQuery.java @@ -0,0 +1,43 @@ +package org.ovirt.engine.core.bll.network.dc; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.ovirt.engine.core.bll.QueriesCommandBase; +import org.ovirt.engine.core.common.businessentities.Entities; +import org.ovirt.engine.core.common.businessentities.network.Network; +import org.ovirt.engine.core.common.businessentities.network.NetworkCluster; +import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.utils.NetworkUtils; + +public class GetInterfacesAttachedToNetworkViaLabelQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { + public GetInterfacesAttachedToNetworkViaLabelQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + Network network = getDbFacade().getNetworkDao().get(getParameters().getId()); + List<NetworkCluster> clusters = getDbFacade().getNetworkClusterDao().getAllForNetwork(network.getId()); + List<VdsNetworkInterface> labeledNics = new ArrayList<>(); + for (NetworkCluster networkCluster : clusters) { + labeledNics.addAll(getDbFacade().getInterfaceDao() + .getAllInterfacesByLabelForCluster(networkCluster.getClusterId(), network.getLabel())); + } + + List<VdsNetworkInterface> networkNics = + getDbFacade().getInterfaceDao().getVdsInterfacesByNetworkId(network.getId()); + Map<String, VdsNetworkInterface> labelNicsByName = Entities.entitiesByName(labeledNics); + List<VdsNetworkInterface> returnList = new ArrayList<>(); + + for (VdsNetworkInterface networkNic : networkNics) { + if (labelNicsByName.containsKey(NetworkUtils.stripVlan(networkNic))) { + returnList.add(networkNic); + } + } + + getQueryReturnValue().setReturnValue(returnList); + } +} 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 4b0ca12..a1718bd 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 @@ -57,6 +57,7 @@ GetAllNetworksByClusterId(VdcQueryAuthType.User), GetNetworksByDataCenterId(VdcQueryAuthType.User), GetManagementInterfaceAddressByVmId(VdcQueryAuthType.User), + GetInterfacesAttachedToNetworkViaLabel, // Vm Network GetVmInterfacesByVmId(VdcQueryAuthType.User), -- To view, visit http://gerrit.ovirt.org/27803 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib5701455e2b372e4b656c87e05781fe05a95f9f0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches