From 0439ad4249ab8bea03d35f95530c47dc7c29aaa5 Mon Sep 17 00:00:00 2001
From: sin <sin@localhost>
Date: Wed, 22 Jul 2009 14:16:56 +0000
Subject: [PATCH] Minor changes to remove the tight-coupling introduced between the entry class and the ldapsyntaxes attribute
---
opends/src/server/org/opends/server/types/Entry.java | 11 -----
opends/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java | 54 +++++++++++++++++++++++++-
opends/src/server/org/opends/server/api/AttributeSyntax.java | 4 +-
3 files changed, 53 insertions(+), 16 deletions(-)
diff --git a/opends/src/server/org/opends/server/api/AttributeSyntax.java b/opends/src/server/org/opends/server/api/AttributeSyntax.java
index f26466c..3438ad4 100644
--- a/opends/src/server/org/opends/server/api/AttributeSyntax.java
+++ b/opends/src/server/org/opends/server/api/AttributeSyntax.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2008 Sun Microsystems, Inc.
+ * Copyright 2006-2009 Sun Microsystems, Inc.
*/
package org.opends.server.api;
import org.opends.messages.Message;
@@ -285,7 +285,7 @@
* @return A string representation of this attribute syntax in the
* format defined in RFC 2252.
*/
- public final String toString()
+ public String toString()
{
StringBuilder buffer = new StringBuilder();
toString(buffer);
diff --git a/opends/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java b/opends/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
index 59e90f7..c97d32b 100644
--- a/opends/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
+++ b/opends/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
@@ -524,7 +524,7 @@
throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
message);
}
- syntax = new SubstitutionSyntax(subSyntax,description,oid);
+ syntax = new SubstitutionSyntax(subSyntax,valueStr,description,oid);
}
else if(lowerTokenName.equals("x-pattern"))
{
@@ -542,7 +542,7 @@
try
{
Pattern pattern = Pattern.compile(regex);
- syntax = new RegexSyntax(pattern,description,oid);
+ syntax = new RegexSyntax(pattern,valueStr,description,oid);
}
catch(Exception e)
{
@@ -585,7 +585,7 @@
}
entries.add(entry);
}
- syntax = new EnumSyntax(entries, description, oid);
+ syntax = new EnumSyntax(entries, valueStr,description, oid);
}
else
{
@@ -970,6 +970,10 @@
// The description of this syntax.
private String description;
+ // The definition of this syntax.
+ private String definition;
+
+
//The oid of this syntax.
private String oid;
@@ -977,11 +981,13 @@
//Creates a new instance of this syntax.
private SubstitutionSyntax(AttributeSyntax subSyntax,
+ String definition,
String description,
String oid)
{
super();
this.subSyntax = subSyntax;
+ this.definition = definition;
this.description = description;
this.oid = oid;
}
@@ -1022,6 +1028,17 @@
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String toString()
+ {
+ return definition;
+ }
+
+
+
/**
* {@inheritDoc}
*/
@@ -1116,6 +1133,9 @@
//The oid of this syntax.
private String oid;
+ //The definition of this syntax.
+ private String definition;
+
//The equality matching rule.
private EqualityMatchingRule equalityMatchingRule;
@@ -1131,10 +1151,12 @@
//Creates a new instance of this syntax.
private RegexSyntax(Pattern pattern,
+ String definition,
String description,
String oid)
{
super();
+ this.definition = definition;
this.pattern = pattern;
this.description = description;
this.oid = oid;
@@ -1175,6 +1197,16 @@
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String toString()
+ {
+ return definition;
+ }
+
+
/**
* {@inheritDoc}
@@ -1312,14 +1344,19 @@
//The approximate matching rule.
private ApproximateMatchingRule approximateMatchingRule;
+ //The definition of this syntax.
+ private String definition;
+
//Creates a new instance of this syntax.
private EnumSyntax(LinkedList<ByteSequence> entries,
+ String definition,
String description,
String oid)
{
super();
this.entries = entries;
+ this.definition = definition;
this.description = description;
this.oid = oid;
}
@@ -1352,6 +1389,17 @@
/**
* {@inheritDoc}
*/
+ @Override
+ public String toString()
+ {
+ return definition;
+ }
+
+
+
+ /**
+ * {@inheritDoc}
+ */
@Override
public String getDescription()
{
diff --git a/opends/src/server/org/opends/server/types/Entry.java b/opends/src/server/org/opends/server/types/Entry.java
index dfb264e..3829f3a 100644
--- a/opends/src/server/org/opends/server/types/Entry.java
+++ b/opends/src/server/org/opends/server/types/Entry.java
@@ -1659,17 +1659,6 @@
return allSuccessful;
}
- AttributeType ldapSyntaxType =
- DirectoryServer.getAttributeType(ATTR_LDAP_SYNTAXES_LC,
- true);
- if (attribute.getAttributeType().equals(ldapSyntaxType))
- {
- // This is tricky as ldapsyntaxes type is part real and part
- // virtual. Don't do anything here and let the backend take
- // care of it.
- return true;
- }
-
AttributeType attributeType = attribute.getAttributeType();
List<Attribute> attributes;
--
Gitblit v1.10.0