Arik Hadas has uploaded a new change for review. Change subject: core: simplified RunVmValidator#validateNetworkInterfaces ......................................................................
core: simplified RunVmValidator#validateNetworkInterfaces Extract the code that gathering the required data for the network validations from validateNetworkInterfaces method to separate methods. Change-Id: I21540687322f2fca09b723572f96c3a7ce6a207a Signed-off-by: Arik Hadas <aha...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java 1 file changed, 26 insertions(+), 7 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/43/18243/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java index 42f44f6..981dc00 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java @@ -63,6 +63,9 @@ private List<Disk> cachedVmDisks; private List<DiskImage> cachedVmImageDisks; + private Set<String> cachedInterfaceNetworkNames; + private List<Network> cachedClusterNetworks; + private Set<String> cachedClusterNetworksNames; public RunVmValidator(VM vm, RunVmParams rumVmParam, boolean isInternalExecution) { this.vm = vm; @@ -315,22 +318,17 @@ * @return true if all VM network interfaces are valid */ public ValidationResult validateNetworkInterfaces() { - Map<String, VmNetworkInterface> interfaceNetworkMap = Entities.vmInterfacesByNetworkName(vm.getInterfaces()); - Set<String> interfaceNetworkNames = interfaceNetworkMap.keySet(); - List<Network> clusterNetworks = getNetworkDao().getAllForCluster(vm.getVdsGroupId()); - Set<String> clusterNetworksNames = Entities.objectNames(clusterNetworks); - ValidationResult validationResult = validateInterfacesConfigured(vm); if (!validationResult.isValid()) { return validationResult; } - validationResult = validateInterfacesAttachedToClusterNetworks(vm, clusterNetworksNames, interfaceNetworkNames); + validationResult = validateInterfacesAttachedToClusterNetworks(vm, getClusterNetworksNames(), getInterfaceNetworkNames()); if (!validationResult.isValid()) { return validationResult; } - validationResult = validateInterfacesAttachedToVmNetworks(clusterNetworks, interfaceNetworkNames); + validationResult = validateInterfacesAttachedToVmNetworks(getClusterNetworks(), getInterfaceNetworkNames()); if (!validationResult.isValid()) { return validationResult; } @@ -508,4 +506,25 @@ } return cachedVmImageDisks; } + + private Set<String> getInterfaceNetworkNames() { + if (cachedInterfaceNetworkNames == null) { + return Entities.vmInterfacesByNetworkName(vm.getInterfaces()).keySet(); + } + return cachedInterfaceNetworkNames; + } + + private List<Network> getClusterNetworks() { + if (cachedClusterNetworks == null) { + cachedClusterNetworks = getNetworkDao().getAllForCluster(vm.getVdsGroupId()); + } + return cachedClusterNetworks; + } + + private Set<String> getClusterNetworksNames() { + if (cachedClusterNetworksNames == null) { + cachedClusterNetworksNames = Entities.objectNames(getClusterNetworks()); + } + return cachedClusterNetworksNames; + } } -- To view, visit http://gerrit.ovirt.org/18243 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I21540687322f2fca09b723572f96c3a7ce6a207a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <aha...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches