From 30a99f38d04350660135f433ff8dfd0ab7666a85 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 21 Oct 2014 14:32:12 +0000
Subject: [PATCH] OPENDJ-1596 Ensure OpenDS oids get associated with OpenDS origin and string constants in core schema
---
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CoreSchemaImpl.java | 38 ++++++++++++++++++--------------------
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java | 4 ++--
2 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CoreSchemaImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CoreSchemaImpl.java
index f98ccb6..50f3f57 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CoreSchemaImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CoreSchemaImpl.java
@@ -48,32 +48,26 @@
private static final Map<String, List<String>> RFC2252_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 2252"));
-
private static final Map<String, List<String>> RFC3045_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 3045"));
-
private static final Map<String, List<String>> RFC3112_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 3112"));
-
private static final Map<String, List<String>> RFC4512_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 4512"));
-
private static final Map<String, List<String>> RFC4517_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 4517"));
-
private static final Map<String, List<String>> RFC4519_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 4519"));
-
private static final Map<String, List<String>> RFC4523_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 4523"));
-
private static final Map<String, List<String>> RFC4530_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 4530"));
-
private static final Map<String, List<String>> RFC5020_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("RFC 5020"));
- static final Map<String, List<String>> OPENDJ_ORIGIN = Collections.singletonMap(
+ static final Map<String, List<String>> OPENDS_ORIGIN = Collections.singletonMap(
+ SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("OpenDS Directory Server"));
+ private static final Map<String, List<String>> OPENDJ_ORIGIN = Collections.singletonMap(
SCHEMA_PROPERTY_ORIGIN, Collections.singletonList("OpenDJ Directory Server"));
private static final String EMPTY_STRING = "".intern();
@@ -266,6 +260,7 @@
addRFC3112(builder);
addRFC5020(builder);
addSunProprietary(builder);
+ addForgeRockProprietary(builder);
SINGLETON = builder.toSchema().asNonStrictSchema();
}
@@ -849,39 +844,42 @@
}
private static void addSunProprietary(final SchemaBuilder builder) {
- builder.addAttributeType("1.3.6.1.4.1.36733.2.1.1.141", Collections.singletonList("fullVendorVersion"),
- EMPTY_STRING, false, null, EMR_CASE_EXACT_IA5_OID, null, null, null,
- SYNTAX_DIRECTORY_STRING_OID, true, false, true, AttributeUsage.DSA_OPERATION,
- OPENDJ_ORIGIN , false);
builder.buildSyntax(SYNTAX_USER_PASSWORD_OID).description(SYNTAX_USER_PASSWORD_DESCRIPTION)
- .extraProperties(OPENDJ_ORIGIN).implementation(new UserPasswordSyntaxImpl()).addToSchema();
+ .extraProperties(OPENDS_ORIGIN).implementation(new UserPasswordSyntaxImpl()).addToSchema();
builder.buildMatchingRule(EMR_USER_PASSWORD_EXACT_OID)
.names(Collections.singletonList(EMR_USER_PASSWORD_EXACT_NAME))
.description(EMR_USER_PASSWORD_EXACT_DESCRIPTION).syntaxOID(SYNTAX_USER_PASSWORD_OID)
- .extraProperties(OPENDJ_ORIGIN).implementation(new UserPasswordExactEqualityMatchingRuleImpl())
+ .extraProperties(OPENDS_ORIGIN).implementation(new UserPasswordExactEqualityMatchingRuleImpl())
.addToSchema();
builder.buildMatchingRule(AMR_DOUBLE_METAPHONE_OID).names(Collections.singletonList(AMR_DOUBLE_METAPHONE_NAME))
.description(AMR_DOUBLE_METAPHONE_DESCRIPTION).syntaxOID(SYNTAX_DIRECTORY_STRING_OID)
- .extraProperties(OPENDJ_ORIGIN).implementation(new DoubleMetaphoneApproximateMatchingRuleImpl())
+ .extraProperties(OPENDS_ORIGIN).implementation(new DoubleMetaphoneApproximateMatchingRuleImpl())
.addToSchema();
builder.buildMatchingRule(OMR_RELATIVE_TIME_GREATER_THAN_OID)
.names(OMR_RELATIVE_TIME_GREATER_THAN_NAME, OMR_RELATIVE_TIME_GREATER_THAN_ALT_NAME)
.description(OMR_RELATIVE_TIME_GREATER_THAN_DESCRIPTION).syntaxOID(SYNTAX_GENERALIZED_TIME_OID)
- .extraProperties(OPENDJ_ORIGIN).implementation(relativeTimeGTOMatchingRule())
+ .extraProperties(OPENDS_ORIGIN).implementation(relativeTimeGTOMatchingRule())
.addToSchema();
builder.buildMatchingRule(OMR_RELATIVE_TIME_LESS_THAN_OID)
.names(OMR_RELATIVE_TIME_LESS_THAN_NAME, OMR_RELATIVE_TIME_LESS_THAN_ALT_NAME)
.description(OMR_RELATIVE_TIME_LESS_THAN_DESCRIPTION).syntaxOID(SYNTAX_GENERALIZED_TIME_OID)
- .extraProperties(OPENDJ_ORIGIN).implementation(relativeTimeLTOMatchingRule())
+ .extraProperties(OPENDS_ORIGIN).implementation(relativeTimeLTOMatchingRule())
.addToSchema();
builder.buildMatchingRule(MR_PARTIAL_DATE_AND_TIME_OID)
.names(Collections.singletonList(MR_PARTIAL_DATE_AND_TIME_NAME))
.description(MR_PARTIAL_DATE_AND_TIME_DESCRIPTION).syntaxOID(SYNTAX_GENERALIZED_TIME_OID)
- .extraProperties(OPENDJ_ORIGIN).implementation(partialDateAndTimeMatchingRule())
+ .extraProperties(OPENDS_ORIGIN).implementation(partialDateAndTimeMatchingRule())
.addToSchema();
addCollationMatchingRules(builder);
}
+ private static void addForgeRockProprietary(SchemaBuilder builder) {
+ builder.addAttributeType("1.3.6.1.4.1.36733.2.1.1.141", Collections.singletonList("fullVendorVersion"),
+ EMPTY_STRING, false, null, EMR_CASE_EXACT_IA5_OID, null, null, null,
+ SYNTAX_DIRECTORY_STRING_OID, true, false, true, AttributeUsage.DSA_OPERATION,
+ OPENDJ_ORIGIN , false);
+ }
+
/**
* Adds the collation matching rules.
* <p>
@@ -934,7 +932,7 @@
builder.buildMatchingRule(baseOid + "." + numericSuffix)
.names(collationMatchingRuleNames(names, numericSuffix, symbolicSuffix))
.syntaxOID(SYNTAX_DIRECTORY_STRING_OID)
- .extraProperties(OPENDJ_ORIGIN)
+ .extraProperties(OPENDS_ORIGIN)
.implementation(matchingRuleImplementation)
.addToSchema();
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
index bbc0315..064ec94 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
@@ -905,7 +905,7 @@
buildMatchingRule(enumImpl.getOrderingMatchingRule())
.names(OMR_GENERIC_ENUM_NAME + oid)
.syntaxOID(oid)
- .extraProperties(CoreSchemaImpl.OPENDJ_ORIGIN)
+ .extraProperties(CoreSchemaImpl.OPENDS_ORIGIN)
.implementation(new EnumOrderingMatchingRule(enumImpl))
.addToSchemaOverwrite();
} catch (final ConflictingSchemaElementException e) {
@@ -2190,7 +2190,7 @@
buildMatchingRule(enumImpl.getOrderingMatchingRule())
.names(OMR_GENERIC_ENUM_NAME + oid)
.syntaxOID(oid)
- .extraProperties(CoreSchemaImpl.OPENDJ_ORIGIN)
+ .extraProperties(CoreSchemaImpl.OPENDS_ORIGIN)
.implementation(new EnumOrderingMatchingRule(enumImpl))
.addToSchemaOverwrite();
return this;
--
Gitblit v1.10.0