Muli Salem has uploaded a new change for review. Change subject: core: PairQueryable Class ......................................................................
core: PairQueryable Class This patch adds the PairQueryable class, to enable returning a Pair as the return value of a Query. Change-Id: Ic26f8c18245eb187a6ee20dcb2b9b9c03c3992bf Signed-off-by: Muli Salem <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQuery.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQuery.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQueryTest.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQueryTest.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/Pair.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/PairQueryable.java 6 files changed, 85 insertions(+), 17 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/33/8833/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQuery.java index b1eae24..154b69e 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQuery.java @@ -8,7 +8,7 @@ import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VdsNetworkInterface; import org.ovirt.engine.core.common.queries.NetworkIdParameters; -import org.ovirt.engine.core.common.utils.Pair; +import org.ovirt.engine.core.common.utils.PairQueryable; import org.ovirt.engine.core.compat.Guid; /** @@ -29,9 +29,10 @@ final Map<Guid, VDS> vdsById = Entities.businessEntitiesById(vdsList); - List<Pair<VdsNetworkInterface, VDS>> vdsInterfaceVdsPairs = new ArrayList<Pair<VdsNetworkInterface, VDS>>(); + List<PairQueryable<VdsNetworkInterface, VDS>> vdsInterfaceVdsPairs = + new ArrayList<PairQueryable<VdsNetworkInterface, VDS>>(); for (VdsNetworkInterface vdsNetworkInterface : vdsNetworkInterfaceList) { - vdsInterfaceVdsPairs.add(new Pair(vdsNetworkInterface, vdsById.get(vdsNetworkInterface.getVdsId()))); + vdsInterfaceVdsPairs.add(new PairQueryable(vdsNetworkInterface, vdsById.get(vdsNetworkInterface.getVdsId()))); } getQueryReturnValue().setReturnValue(vdsInterfaceVdsPairs); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQuery.java index b5c1496..be8965d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQuery.java @@ -10,7 +10,7 @@ import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.network_cluster; import org.ovirt.engine.core.common.queries.NetworkIdParameters; -import org.ovirt.engine.core.common.utils.Pair; +import org.ovirt.engine.core.common.utils.PairQueryable; /** * A query to retrieve all VDSGroup-network_cluster pairs in the Storage Pool of the given Network. In case the Network @@ -23,7 +23,8 @@ @Override protected void executeQueryCommand() { - List<Pair<VDSGroup, network_cluster>> networkClusterPairs = new ArrayList<Pair<VDSGroup, network_cluster>>(); + List<PairQueryable<VDSGroup, network_cluster>> networkClusterPairs = + new ArrayList<PairQueryable<VDSGroup, network_cluster>>(); Network network = getDbFacade().getNetworkDao().get(getParameters().getNetworkId()); if (network != null && network.getstorage_pool_id() != null) { @@ -36,7 +37,7 @@ Entities.businessEntitiesById(networkClusters); for (VDSGroup vdsGroup : vdsGroups) { - networkClusterPairs.add(new Pair<VDSGroup, network_cluster>(vdsGroup, + networkClusterPairs.add(new PairQueryable<VDSGroup, network_cluster>(vdsGroup, networkClustersById.get(new NetworkClusterId(vdsGroup.getId(), getParameters().getNetworkId())))); } } diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQueryTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQueryTest.java index 6fb6adb..d4b6577 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQueryTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsAndNetworkInterfacesByNetworkIdQueryTest.java @@ -11,7 +11,7 @@ import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VdsNetworkInterface; import org.ovirt.engine.core.common.queries.NetworkIdParameters; -import org.ovirt.engine.core.common.utils.Pair; +import org.ovirt.engine.core.common.utils.PairQueryable; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.InterfaceDAO; import org.ovirt.engine.core.dao.VdsDAO; @@ -36,8 +36,9 @@ setupVdsDao(); setupVdsNetworkInterfaceDao(); - Pair<VdsNetworkInterface, VDS> vdsInterfaceVdsPair = new Pair(vdsNetworkInterface, vds); - List<Pair<VdsNetworkInterface, VDS>> expected = Collections.singletonList(vdsInterfaceVdsPair); + PairQueryable<VdsNetworkInterface, VDS> vdsInterfaceVdsPair = + new PairQueryable<VdsNetworkInterface, VDS>(vdsNetworkInterface, vds); + List<PairQueryable<VdsNetworkInterface, VDS>> expected = Collections.singletonList(vdsInterfaceVdsPair); // Run the query GetVdsAndNetworkInterfacesByNetworkIdQuery<NetworkIdParameters> query = getQuery(); diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQueryTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQueryTest.java index 96f29d3..6428181 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQueryTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVdsGroupsAndNetworksByNetworkIdQueryTest.java @@ -12,7 +12,7 @@ import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.network_cluster; import org.ovirt.engine.core.common.queries.NetworkIdParameters; -import org.ovirt.engine.core.common.utils.Pair; +import org.ovirt.engine.core.common.utils.PairQueryable; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.NetworkClusterDAO; import org.ovirt.engine.core.dao.NetworkDAO; @@ -48,8 +48,9 @@ setupVdsGroupDao(); setupNetworkClusterDao(); - Pair<VDSGroup, network_cluster> networkClusterPair = new Pair(cluster, networkCluster); - List<Pair<VDSGroup, network_cluster>> expected = Collections.singletonList(networkClusterPair); + PairQueryable<VDSGroup, network_cluster> networkClusterPair = + new PairQueryable<VDSGroup, network_cluster>(cluster, networkCluster); + List<PairQueryable<VDSGroup, network_cluster>> expected = Collections.singletonList(networkClusterPair); // Run the query GetVdsGroupsAndNetworksByNetworkIdQuery<NetworkIdParameters> query = getQuery(); diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/Pair.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/Pair.java index 25039e8..9e83309 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/Pair.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/Pair.java @@ -1,10 +1,6 @@ package org.ovirt.engine.core.common.utils; -import java.io.Serializable; - -public final class Pair<T, K> implements Serializable { - private static final long serialVersionUID = -6761191157220811690L; - +public class Pair<T, K> { private T first; private K second; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/PairQueryable.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/PairQueryable.java new file mode 100644 index 0000000..f8cbbe8 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/PairQueryable.java @@ -0,0 +1,68 @@ +package org.ovirt.engine.core.common.utils; + +import org.ovirt.engine.core.common.businessentities.IVdcQueryable; + +/** + * A Pair that extends the {@link IVdcQueryable} class, to enable returning a Pair as the return value of a Query. + */ +public class PairQueryable<T, K> extends IVdcQueryable { + private static final long serialVersionUID = -8894728003078425184L; + + private Pair<T, K> pair = new Pair<T, K>(); + + public PairQueryable() { + } + + public PairQueryable(T first, K second) { + pair = new Pair<T, K>(first, second); + } + + public Pair<T, K> getPair() { + return pair == null ? new Pair<T, K>(null, null) : pair; + } + + public void setPair(Pair<T, K> pair) { + this.pair = pair; + } + + public void setFirst(T value) { + getPair().setFirst(value); + } + + public T getFirst() { + return getPair().getFirst(); + } + + public void setSecond(K value) { + getPair().setSecond(value); + } + + public K getSecond() { + return getPair().getSecond(); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getPair() == null) ? 0 : getPair().hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + PairQueryable other = (PairQueryable) obj; + if (getPair() == null) { + if (other.getPair() != null) + return false; + } else if (!getPair().equals(other.getPair())) + return false; + return true; + } +} -- To view, visit http://gerrit.ovirt.org/8833 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic26f8c18245eb187a6ee20dcb2b9b9c03c3992bf Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Muli Salem <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
