From 76dc20a0ee199d0b2d15f7ffe21fc9c45c72e9cc Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Fri, 12 Dec 2014 11:13:18 +0100 Subject: [PATCH] CLOUDSTACK-255: fix NPE in createPortForwardingRule due to no PortForwarding provider (cherry picked from commit c9d492d7140dd53f1630bc5ea14b948184233612) --- server/src/com/cloud/network/NetworkModelImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/network/NetworkModelImpl.java b/server/src/com/cloud/network/NetworkModelImpl.java index 2edf9708ad0..1fd354df6d3 100755 --- a/server/src/com/cloud/network/NetworkModelImpl.java +++ b/server/src/com/cloud/network/NetworkModelImpl.java @@ -424,14 +424,14 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel { // We only support one provider for one service now Map> serviceToProviders = getServiceProvidersMap(networkId); - Set oldProviders = serviceToProviders.get(services.toArray()[0]); - Provider oldProvider = (Provider)oldProviders.toArray()[0]; // Since IP already has service to bind with, the oldProvider can't be null Set newProviders = serviceToProviders.get(service); if (newProviders == null || newProviders.isEmpty()) { throw new InvalidParameterException("There is no new provider for IP " + publicIp.getAddress() + " of service " + service.getName() + "!"); } Provider newProvider = (Provider)newProviders.toArray()[0]; + Set oldProviders = serviceToProviders.get(services.toArray()[0]); + Provider oldProvider = (Provider)oldProviders.toArray()[0]; Network network = _networksDao.findById(networkId); NetworkElement oldElement = getElementImplementingProvider(oldProvider.getName()); NetworkElement newElement = getElementImplementingProvider(newProvider.getName());