java/code/src/org/cobbler/CobblerObject.java | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
New commits:
commit 4a13f480c34ea364fb285c80baf5bfcc832e6df1
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Feb 26 13:49:54 2010 -0500
531122 - fixing issue where <<inherit>> would appear within system records
when modifying a kickstarts activation key
diff --git a/java/code/src/org/cobbler/CobblerObject.java
b/java/code/src/org/cobbler/CobblerObject.java
index a543f74..df7121c 100644
--- a/java/code/src/org/cobbler/CobblerObject.java
+++ b/java/code/src/org/cobbler/CobblerObject.java
@@ -54,6 +54,7 @@ public abstract class CobblerObject {
protected static final String UID = "uid";
protected static final String PROFILE = "profile";
private static final String REDHAT_KEY = "redhat_management_key";
+ public static final String INHERIT_KEY = "<<inherit>>";
protected String handle;
protected Map<String, Object> dataMap = new HashMap<String, Object>();
@@ -466,7 +467,7 @@ public abstract class CobblerObject {
* @param keys the red hat activation keys in a set
*/
public void setRedHatManagementKey(Set<String> keys) {
- modify(REDHAT_KEY, StringUtil.join(",", keys));
+ modify(REDHAT_KEY, StringUtils.defaultString(StringUtil.join(",",
keys)));
}
/**
@@ -496,9 +497,15 @@ public abstract class CobblerObject {
*/
public void syncRedHatManagementKeys(Collection<String> keysToRemove,
Collection<String> keysToAdd) {
- Set keySet = getRedHatManagementKeySet();
+ Set<String> keySet = getRedHatManagementKeySet();
keySet.removeAll(keysToRemove);
keySet.addAll(keysToAdd);
+ if (keySet.size() > 1 && keySet.contains(INHERIT_KEY)) {
+ keySet.remove(INHERIT_KEY);
+ }
+ else if (keySet.isEmpty()) {
+ keySet.add(INHERIT_KEY);
+ }
setRedHatManagementKey(keySet);
}
Show replies by date