src/com/netscape/admin/dirserv/cosedit/ResEditorCosAttributes.java | 45 ++++++++--
src/com/netscape/admin/dirserv/dirserv.properties | 4
2 files changed, 44 insertions(+), 5 deletions(-)
New commits:
commit c83af3bbf6602e3d548e817e73db2a3272bf6bbc
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Fri Sep 14 17:09:16 2012 -0400
Ticket 370 - Opening merge qualifier CoS entry using RHDS console changes the entry
Bug Description: Opening a cos entry that uses a cosAttrbiute with
"merge-schemes",
gets rewritten with only the qualifier in the cosAttribute.
Fix Description: The value is changed because the console doesn't know about
"merge-schemes".
Added "merge-schemes" to the cos editor(for each
qualifer). So it can be
set correctly in the console, and the value is also not over
written.
https://fedorahosted.org/389/ticket/370
Reviewed by: richm & noriko (Thanks!)
diff --git a/src/com/netscape/admin/dirserv/cosedit/ResEditorCosAttributes.java
b/src/com/netscape/admin/dirserv/cosedit/ResEditorCosAttributes.java
index e8dbfdf..5a85c04 100644
--- a/src/com/netscape/admin/dirserv/cosedit/ResEditorCosAttributes.java
+++ b/src/com/netscape/admin/dirserv/cosedit/ResEditorCosAttributes.java
@@ -56,11 +56,15 @@ public class ResEditorCosAttributes extends DefaultResEditorPage
// Fetch the labels for attribute qualifier.
// Note: array indices match the values DEFAULT, OVERRIDE...
- _qualifierLabels = new Vector(3);
+ _qualifierLabels = new Vector(8);
_qualifierLabels.addElement(_resource.getString(_section,
"qualifier-default"));
+ _qualifierLabels.addElement(_resource.getString(_section,
"qualifier-default-merge-schemes"));
_qualifierLabels.addElement(_resource.getString(_section,
"qualifier-override"));
+ _qualifierLabels.addElement(_resource.getString(_section,
"qualifier-override-merge-schemes"));
_qualifierLabels.addElement(_resource.getString(_section,
"qualifier-operational"));
+ _qualifierLabels.addElement(_resource.getString(_section,
"qualifier-operational-merge-schemes"));
_qualifierLabels.addElement(_resource.getString(_section,
"qualifier-operational-default"));
+ _qualifierLabels.addElement(_resource.getString(_section,
"qualifier-operational-default-merge-schemes"));
}
@@ -451,9 +455,13 @@ public class ResEditorCosAttributes extends DefaultResEditorPage
*/
class CosAttributeRec {
public static final int DEFAULT = 0;
- public static final int OVERRIDE = 1;
- public static final int OPERATIONAL = 2;
- public static final int OPERATIONAL_DEFAULT = 3;
+ public static final int DEFAULT_MERGE_SCHEMES = 1;
+ public static final int OVERRIDE = 2;
+ public static final int OVERRIDE_MERGE_SCHEMES = 3;
+ public static final int OPERATIONAL = 4;
+ public static final int OPERATIONAL_MERGE_SCHEMES = 5;
+ public static final int OPERATIONAL_DEFAULT = 6;
+ public static final int OPERATIONAL_DEFAULT_MERGE_SCHEMES = 7;
String name;
int qualifier;
@@ -472,7 +480,18 @@ class CosAttributeRec {
qualifier = OPERATIONAL;
else if (token.equalsIgnoreCase("operational-default"))
qualifier = OPERATIONAL_DEFAULT;
- else {
+ else if (token.equalsIgnoreCase("merge-schemes")){
+ // Now check if we already have a qualifier set, and modify it if necessary
+ if(qualifier == DEFAULT){
+ qualifier = DEFAULT_MERGE_SCHEMES;
+ } else if(qualifier == OVERRIDE){
+ qualifier = OVERRIDE_MERGE_SCHEMES;
+ } else if(qualifier == OPERATIONAL){
+ qualifier = OPERATIONAL_MERGE_SCHEMES;
+ } else if(qualifier == OPERATIONAL_DEFAULT){
+ qualifier = OPERATIONAL_DEFAULT_MERGE_SCHEMES;
+ }
+ } else {
Debug.println(0, "ResEditorCosAttributes.CosAttributeRec: " +
"ignored invalid cosAttribute qualifier (" + token +
")");
}
@@ -482,14 +501,30 @@ class CosAttributeRec {
public String toString() {
StringBuffer sb = new StringBuffer(name);
switch(qualifier) {
+ case DEFAULT_MERGE_SCHEMES:
+ sb.append(" merge-schemes");
+ break;
case OVERRIDE:
sb.append(" override");
break;
+ case OVERRIDE_MERGE_SCHEMES:
+ sb.append(" override merge-schemes");
+ break;
case OPERATIONAL:
sb.append(" operational");
break;
+ case OPERATIONAL_MERGE_SCHEMES:
+ sb.append(" operational merge-schemes");
+ break;
+ case OPERATIONAL_DEFAULT:
+ sb.append(" operational-default");
+ break;
+ case OPERATIONAL_DEFAULT_MERGE_SCHEMES:
+ sb.append(" operational-default merge-schemes");
+ break;
// case DEFAULT: nothing needed
}
+
return sb.toString();
}
};
diff --git a/src/com/netscape/admin/dirserv/dirserv.properties
b/src/com/netscape/admin/dirserv/dirserv.properties
index d79ef5b..2cfcdf1 100644
--- a/src/com/netscape/admin/dirserv/dirserv.properties
+++ b/src/com/netscape/admin/dirserv/dirserv.properties
@@ -2772,9 +2772,13 @@ cosAttributesPage-browseButton=Browse...
cosAttributesPage-header-name=Attribute Name
cosAttributesPage-header-qualifier=Class of Service Behavior
cosAttributesPage-qualifier-default=Does not override target entry attribute
+cosAttributesPage-qualifier-default-merge-schemes=Does not override target entry
attribute (merge-schemes)
cosAttributesPage-qualifier-override=Overrides target entry attribute
+cosAttributesPage-qualifier-override-merge-schemes=Overrides target entry attribute
(merge-schemes)
cosAttributesPage-qualifier-operational=Overrides target entry attribute and is
operational
+cosAttributesPage-qualifier-operational-merge-schemes=Overrides target entry attribute
and is operational (merge-schemes)
cosAttributesPage-qualifier-operational-default=Does not override target entry attribute
and is operational
+cosAttributesPage-qualifier-operational-default-merge-schemes=Does not override target
entry attribute and is operational (merge-schemes)
cosTemplatePage-id=Template
cosTemplatePage-label=Choose how the template entry is identified:
cosTemplatePage-pointerRadioButton=By its DN