From f06818704b34709df41aa6f8ef2d2a643eb52509 Mon Sep 17 00:00:00 2001 From: alena Date: Thu, 9 Jun 2011 13:34:50 -0700 Subject: [PATCH] Revert "bug 10199: don't allow network offering Name modification." This reverts commit 97f2b9936a8b9e3a057116d327b058253458b4ef. Use the following solution instead: * add unique_name field to the network_offerings table. Use this filed as a unique offering identifier in the code * Added db upgrade steps to 225to226 sql script Conflicts: server/src/com/cloud/offerings/NetworkOfferingVO.java --- .../api/commands/UpdateNetworkOfferingCmd.java | 8 +++++++- api/src/com/cloud/offering/NetworkOffering.java | 2 ++ .../configuration/ConfigurationManagerImpl.java | 5 +++++ .../src/com/cloud/offerings/NetworkOfferingVO.java | 13 +++++++++++++ .../com/cloud/offerings/dao/NetworkOfferingDao.java | 4 ++-- .../cloud/offerings/dao/NetworkOfferingDaoImpl.java | 11 ++++++----- setup/db/create-schema.sql | 3 ++- setup/db/db/schema-225to226.sql | 6 ++++++ 8 files changed, 43 insertions(+), 9 deletions(-) diff --git a/api/src/com/cloud/api/commands/UpdateNetworkOfferingCmd.java b/api/src/com/cloud/api/commands/UpdateNetworkOfferingCmd.java index 180063e6e5d..23c9425803b 100644 --- a/api/src/com/cloud/api/commands/UpdateNetworkOfferingCmd.java +++ b/api/src/com/cloud/api/commands/UpdateNetworkOfferingCmd.java @@ -41,6 +41,9 @@ public class UpdateNetworkOfferingCmd extends BaseCmd { @Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="the id of the network offering") private Long id; + + @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="the name of the network offering") + private String networkOfferingName; @Parameter(name=ApiConstants.DISPLAY_TEXT, type=CommandType.STRING, description="the display text of the network offering") private String displayText; @@ -52,7 +55,10 @@ public class UpdateNetworkOfferingCmd extends BaseCmd { /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// - + public String getNetworkOfferingName() { + return networkOfferingName; + } + public String getDisplayText() { return displayText; } diff --git a/api/src/com/cloud/offering/NetworkOffering.java b/api/src/com/cloud/offering/NetworkOffering.java index 7f70d275052..184233a63f3 100644 --- a/api/src/com/cloud/offering/NetworkOffering.java +++ b/api/src/com/cloud/offering/NetworkOffering.java @@ -101,4 +101,6 @@ public interface NetworkOffering { boolean isRedundantRouterEnabled(); GuestIpType getGuestType(); + + String getUniqueName(); } diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index a94981dc9cd..a205a776e02 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -2837,6 +2837,7 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura public NetworkOffering updateNetworkOffering(UpdateNetworkOfferingCmd cmd) { String displayText = cmd.getDisplayText(); Long id = cmd.getId(); + String name = cmd.getNetworkOfferingName(); String availabilityStr = cmd.getAvailability(); Availability availability = null; @@ -2858,6 +2859,10 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura NetworkOfferingVO offering = _networkOfferingDao.createForUpdate(id); + if (name != null) { + offering.setName(name); + } + if (displayText != null) { offering.setDisplayText(displayText); } diff --git a/server/src/com/cloud/offerings/NetworkOfferingVO.java b/server/src/com/cloud/offerings/NetworkOfferingVO.java index 89ab0ca6a01..2f5f3c39de6 100644 --- a/server/src/com/cloud/offerings/NetworkOfferingVO.java +++ b/server/src/com/cloud/offerings/NetworkOfferingVO.java @@ -45,6 +45,9 @@ public class NetworkOfferingVO implements NetworkOffering { @Column(name="name") String name; + @Column(name="unique_name") + private String uniqueName; + @Column(name="display_text") String displayText; @@ -319,6 +322,15 @@ public class NetworkOfferingVO implements NetworkOffering { public void setGuestType(GuestIpType guestType) { this.guestType = guestType; } + + @Override + public String getUniqueName() { + return uniqueName; + } + + public void setUniqueName(String uniqueName) { + this.uniqueName = uniqueName; + } @Override public boolean isRedundantRouterEnabled() { @@ -345,6 +357,7 @@ public class NetworkOfferingVO implements NetworkOffering { this.vpnService = vpnService; this.guestType = guestIpType; this.redundantRouter = isRedundantRouterEnabled; + this.uniqueName = name; } /** diff --git a/server/src/com/cloud/offerings/dao/NetworkOfferingDao.java b/server/src/com/cloud/offerings/dao/NetworkOfferingDao.java index 04fd166c8a8..e58b5f41a0b 100644 --- a/server/src/com/cloud/offerings/dao/NetworkOfferingDao.java +++ b/server/src/com/cloud/offerings/dao/NetworkOfferingDao.java @@ -37,10 +37,10 @@ import com.cloud.utils.db.GenericDao; public interface NetworkOfferingDao extends GenericDao { /** * Returns the network offering that matches the name. - * @param name name + * @param uniqueName name * @return NetworkOfferingVO */ - NetworkOfferingVO findByName(String name); + NetworkOfferingVO findByUniqueName(String uniqueName); /** * Persists the system network offering by checking the name. If it diff --git a/server/src/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java b/server/src/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java index 6cc8eb986f2..a36e6d1b4d9 100644 --- a/server/src/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java +++ b/server/src/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java @@ -53,6 +53,7 @@ public class NetworkOfferingDaoImpl extends GenericDaoBase sc = NameSearch.create(); - sc.setParameters("name", name); + sc.setParameters("uniqueName", uniqueName); return findOneBy(sc); @@ -83,8 +84,8 @@ public class NetworkOfferingDaoImpl extends GenericDaoBase