java/code/src/com/redhat/rhn/domain/server/Server.java | 4 ++--
java/code/src/com/redhat/rhn/domain/server/ServerFactory.java | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
New commits:
commit e39a8035a199da3ed34d48c922aa9ca622afecd4
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Fri Jun 26 10:21:46 2009 -0300
Fix API call to remove server custom data value.
Looks like this was being hidden by our recently removed hibernate
exception hiding.
At least in this test, deleting a custom data value from a server was
getting re-saved as the object wasn't actually deleted from it's
association with the server. Seems likely this would be a problem for
actual API use as well.
diff --git a/java/code/src/com/redhat/rhn/domain/server/Server.java
b/java/code/src/com/redhat/rhn/domain/server/Server.java
index 115db94..4df50ef 100644
--- a/java/code/src/com/redhat/rhn/domain/server/Server.java
+++ b/java/code/src/com/redhat/rhn/domain/server/Server.java
@@ -92,7 +92,7 @@ public class Server extends BaseDomainHelper implements Identifiable {
private Ram ram;
private Dmi dmi;
private Set networkInterfaces;
- private Set customDataValues;
+ private Set<CustomDataValue> customDataValues;
private Set channels;
private List configChannels = Collections.EMPTY_LIST;
private Set localChannels = new HashSet();
@@ -994,7 +994,7 @@ public class Server extends BaseDomainHelper implements Identifiable
{
/**
* @return Returns the customDataValues.
*/
- public Set getCustomDataValues() {
+ public Set<CustomDataValue> getCustomDataValues() {
return customDataValues;
}
diff --git a/java/code/src/com/redhat/rhn/domain/server/ServerFactory.java
b/java/code/src/com/redhat/rhn/domain/server/ServerFactory.java
index 2ac9d88..d265624 100644
--- a/java/code/src/com/redhat/rhn/domain/server/ServerFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/server/ServerFactory.java
@@ -95,6 +95,7 @@ public class ServerFactory extends HibernateFactory {
*/
public static void removeCustomDataValue(Server server, CustomDataKey key) {
CustomDataValue value = server.getCustomDataValue(key);
+ server.getCustomDataValues().remove(value);
if (value != null) {
singleton.removeObject(value);
}
Show replies by date