From 831eeeb42234bc7d87381dcea5afb7d7f664d372 Mon Sep 17 00:00:00 2001 From: Hugo Trippaers Date: Thu, 7 Nov 2013 14:59:43 +0100 Subject: [PATCH] Fix CID 1127031 Inefficient Map iterator --- server/src/com/cloud/network/vpc/VpcManagerImpl.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java index 11cbd95cbb4..017d38df3bb 100644 --- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; @@ -351,16 +352,16 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis svcProviderMap.put(Service.Gateway, defaultProviders); if (serviceProviders != null) { - for (String serviceStr : serviceProviders.keySet()) { - Network.Service service = Network.Service.getService(serviceStr); + for (Entry> serviceEntry : serviceProviders.entrySet()) { + Network.Service service = Network.Service.getService(serviceEntry.getKey()); if (svcProviderMap.containsKey(service)) { Set providers = new HashSet(); // don't allow to specify more than 1 provider per service - if (serviceProviders.get(serviceStr) != null && serviceProviders.get(serviceStr).size() > 1) { + if (serviceEntry.getValue() != null && serviceEntry.getValue().size() > 1) { throw new InvalidParameterValueException("In the current release only one provider can be " + "specified for the service"); } - for (String prvNameStr : serviceProviders.get(serviceStr)) { + for (String prvNameStr : serviceEntry.getValue()) { // check if provider is supported Network.Provider provider = Network.Provider.getProvider(prvNameStr); if (provider == null) { @@ -371,7 +372,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis } svcProviderMap.put(service, providers); } else { - throw new InvalidParameterValueException("Service " + serviceStr + " is not enabled for the network " + + throw new InvalidParameterValueException("Service " + serviceEntry.getKey() + " is not enabled for the network " + "offering, can't add a provider to it"); } }