Muli Salem has uploaded a new change for review. Change subject: engine Extract Vlan Id Validation (#871864) ......................................................................
engine Extract Vlan Id Validation (#871864) This patch extracts repetitive code to the mutual parent class of AddNetworkCommand and UpdateNetworkCommand. Change-Id: Ifc54da41602245101d97f7afce86d5b97e6cfa36 Bug-Url: https://bugzilla.redhat.com/871864 Signed-off-by: Muli Salem <msa...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java 3 files changed, 35 insertions(+), 41 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/12/9312/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java index 1a483c1..5135cd2 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java @@ -69,25 +69,8 @@ return false; } - if (getParameters().getNetwork().getvlan_id() != null) { - if (!IsVlanInRange(getParameters().getNetwork().getvlan_id())) { - addCanDoActionMessage(VdcBllMessages.NETWORK_VLAN_OUT_OF_RANGE); - return false; - } - else if (null != LinqUtils.firstOrNull(all, new Predicate<Network>() { - @Override - public boolean eval(Network n) { - if (n.getvlan_id() != null) { - return n.getvlan_id().equals(getParameters().getNetwork().getvlan_id()) - && n.getstorage_pool_id().equals(getParameters().getNetwork().getstorage_pool_id()); - } - return false; - } - })) { - addCanDoActionMessage(String.format("$vlanId %d", getParameters().getNetwork().getvlan_id())); - addCanDoActionMessage(VdcBllMessages.NETWORK_VLAN_IN_USE); - return false; - } + if (!validateVlanId(all)) { + return false; } return true; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java index f5d4650..7c2ec82 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java @@ -1,6 +1,9 @@ package org.ovirt.engine.core.bll.storage; +import java.util.List; + import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters; +import org.ovirt.engine.core.common.businessentities.Network; import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.compat.NotImplementedException; @@ -8,6 +11,8 @@ import org.ovirt.engine.core.dal.VdcBllMessages; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.CustomLogField; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.CustomLogFields; +import org.ovirt.engine.core.utils.linq.LinqUtils; +import org.ovirt.engine.core.utils.linq.Predicate; @CustomLogFields({ @CustomLogField("NetworkName") }) public class NetworkCommon<T extends AddNetworkStoragePoolParameters> extends StorageHandlingCommandBase<T> { @@ -61,4 +66,30 @@ } return mtuSupported; } + + protected boolean validateVlanId(List<Network> networks) { + if (getParameters().getNetwork().getvlan_id() != null) { + if (!AddNetworkCommand.IsVlanInRange(getParameters().getNetwork().getvlan_id())) { + addCanDoActionMessage(VdcBllMessages.NETWORK_VLAN_OUT_OF_RANGE); + return false; + } + + else if (null != LinqUtils.firstOrNull(networks, new Predicate<Network>() { + @Override + public boolean eval(Network n) { + if (n.getvlan_id() != null) { + return n.getvlan_id().equals(getParameters().getNetwork().getvlan_id()) + && n.getstorage_pool_id().equals(getParameters().getNetwork().getstorage_pool_id()) + && !n.getId().equals(getParameters().getNetwork().getId()); + } + return false; + } + })) { + addCanDoActionMessage(String.format("$vlanId %d", getParameters().getNetwork().getvlan_id())); + addCanDoActionMessage(VdcBllMessages.NETWORK_VLAN_IN_USE); + return false; + } + } + return true; + } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java index aee61d2..0dc9e2f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java @@ -63,28 +63,8 @@ return false; } - // check vlan is valid - if (getParameters().getNetwork().getvlan_id() != null) { - if (!AddNetworkCommand.IsVlanInRange(getParameters().getNetwork().getvlan_id())) { - addCanDoActionMessage(VdcBllMessages.NETWORK_VLAN_OUT_OF_RANGE); - return false; - } - - else if (null != LinqUtils.firstOrNull(networks, new Predicate<Network>() { - @Override - public boolean eval(Network n) { - if (n.getvlan_id() != null) { - return n.getvlan_id().equals(getParameters().getNetwork().getvlan_id()) - && n.getstorage_pool_id().equals(getParameters().getNetwork().getstorage_pool_id()) - && !n.getId().equals(getParameters().getNetwork().getId()); - } - return false; - } - })) { - addCanDoActionMessage(String.format("$vlanId %d", getParameters().getNetwork().getvlan_id())); - addCanDoActionMessage(VdcBllMessages.NETWORK_VLAN_IN_USE); - return false; - } + if (!validateVlanId(networks)) { + return false; } // check that network not exsits -- To view, visit http://gerrit.ovirt.org/9312 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifc54da41602245101d97f7afce86d5b97e6cfa36 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Muli Salem <msa...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches