Repository: cloudstack Updated Branches: refs/heads/4.4 010a217ea -> 10248515d
CLOUDSTACK-255: fix NPE in createPortForwardingRule due to no PortForwarding provider (cherry picked from commit c9d492d7140dd53f1630bc5ea14b948184233612) Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/10248515 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/10248515 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/10248515 Branch: refs/heads/4.4 Commit: 10248515d798f6186be37ae4eec7c0848483d029 Parents: 010a217 Author: Wei Zhou <[email protected]> Authored: Fri Dec 12 11:13:18 2014 +0100 Committer: Wei Zhou <[email protected]> Committed: Fri Dec 12 11:15:44 2014 +0100 ---------------------------------------------------------------------- server/src/com/cloud/network/NetworkModelImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/10248515/server/src/com/cloud/network/NetworkModelImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/NetworkModelImpl.java b/server/src/com/cloud/network/NetworkModelImpl.java index cb3c326..7163d7e 100755 --- a/server/src/com/cloud/network/NetworkModelImpl.java +++ b/server/src/com/cloud/network/NetworkModelImpl.java @@ -421,14 +421,14 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel { // We only support one provider for one service now Map<Service, Set<Provider>> serviceToProviders = getServiceProvidersMap(networkId); - Set<Provider> 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<Provider> 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<Provider> 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());
