From a632fbfad0ddbe8b343c6abe8e28dc41e3df9b7e Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 10 Jul 2015 10:16:25 +0000
Subject: [PATCH] Code cleanup
---
opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java | 17
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java | 37 -
opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java | 158 +-----
opendj-server-legacy/src/test/java/org/opends/server/plugins/UniqueAttributePluginTestCase.java | 15
opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java | 12
opendj-server-legacy/src/test/java/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java | 17
opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java | 25 +
opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java | 6
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ManageTasksPanel.java | 7
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/UserAttr.java | 10
opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java | 112 +---
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciEffectiveRights.java | 20
opendj-server-legacy/src/main/java/org/opends/server/controls/GetEffectiveRightsRequestControl.java | 24
opendj-server-legacy/src/main/java/org/opends/server/tasks/ImportTask.java | 9
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPFilter.java | 23
opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java | 12
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java | 11
opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java | 8
opendj-server-legacy/src/main/java/org/opends/server/types/Attributes.java | 11
opendj-server-legacy/src/main/java/org/opends/server/util/LDIFReader.java | 8
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargAttrFilterList.java | 5
opendj-server-legacy/src/test/java/org/opends/server/authorization/dseecompat/TargetAttrTestCase.java | 5
opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java | 90 +---
opendj-server-legacy/src/main/java/org/opends/server/types/AttributeBuilder.java | 8
opendj-server-legacy/src/main/java/org/opends/server/types/DN.java | 59 --
opendj-server-legacy/src/main/java/org/opends/server/types/SearchFilter.java | 34 -
opendj-server-legacy/src/main/java/org/opends/server/config/ConfigEntry.java | 11
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciHandler.java | 7
opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java | 7
opendj-server-legacy/src/main/java/org/opends/server/controls/MatchedValuesFilter.java | 13
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java | 7
opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleUseSyntax.java | 63 +-
opendj-server-legacy/src/main/java/org/opends/server/tools/ImportLDIF.java | 16
opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java | 171 +++-----
opendj-server-legacy/src/main/java/org/opends/server/tools/ExportLDIF.java | 20
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalAttributeValue.java | 11
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/ParentInheritance.java | 8
opendj-server-legacy/src/main/java/org/opends/server/tasks/ExportTask.java | 12
opendj-server-legacy/src/main/java/org/opends/server/schema/AttributeTypeSyntax.java | 8
opendj-server-legacy/src/main/java/org/opends/server/schema/ObjectClassSyntax.java | 124 +----
opendj-server-legacy/src/main/java/org/opends/server/monitors/ClientConnectionMonitorProvider.java | 11
opendj-server-legacy/src/main/java/org/opends/server/backends/task/Task.java | 7
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java | 10
43 files changed, 344 insertions(+), 905 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java
index 5bed003..657f904 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java
@@ -320,12 +320,7 @@
}
else
{
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
+ AttributeType attrType = DirectoryServer.getAttributeType(lowerName, attrName);
AttributeBuilder builder = new AttributeBuilder(attribute, true);
for (Object value : getAttributeValues(attrName))
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ManageTasksPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ManageTasksPanel.java
index 39ff64d..66b541c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ManageTasksPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ManageTasksPanel.java
@@ -695,12 +695,7 @@
}
else
{
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
+ AttributeType attrType = DirectoryServer.getAttributeType(lowerName, attrName);
AttributeBuilder builder = new AttributeBuilder(attribute, true);
for (Object value : csr.getAttributeValues(attrName))
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java b/opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java
index f7ba80d..d4d405c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java
@@ -26,9 +26,11 @@
*/
package org.opends.server.admin;
+import java.net.InetAddress;
import java.util.LinkedList;
import java.util.List;
+import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
@@ -55,23 +57,16 @@
*/
public final class AdministrationDataSync
{
+ private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
- /**
- * The root connection.
- */
+ /** The root connection. */
private InternalClientConnection internalConnection;
- /**
- * The attribute name used to store the port. TODO Use the default
- * one.
- */
+ /** The attribute name used to store the port. TODO Use the default one. */
private static final String LDAP_PORT = "ds-cfg-listen-port";
-
-
/**
- * Create an object that will syncrhonize configuration and the
- * admin data.
+ * Create an object that will synchronize configuration and the admin data.
*
* @param internalConnection
* The root connection.
@@ -81,11 +76,9 @@
this.internalConnection = internalConnection;
}
-
-
/**
* Check if information found in "cn=admin data" is coherent with
- * cn=config. If and inconsistancy is detected, we log a warning
+ * cn=config. If and inconsistency is detected, we log a warning
* message and update "cn=admin data"
*/
public void synchronize()
@@ -94,8 +87,6 @@
checkAdminConnector();
}
-
-
/**
* Check if the admin connector is in sync. The desynchronization
* could occurs after the upgrade from 1.0.
@@ -111,42 +102,24 @@
}
// Get the admin port
- String adminPort = getAttr("cn=Administration Connector,cn=config",
- LDAP_PORT);
+ String adminPort = getAttr("cn=Administration Connector,cn=config", LDAP_PORT);
if (adminPort == null)
{
// best effort.
return;
}
- LinkedList<Modification> mods = new LinkedList<>();
- // adminport
- String attName = "adminport";
- AttributeType attrType = DirectoryServer.getAttributeType(attName
- .toLowerCase());
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attName.toLowerCase());
- }
- mods.add(new Modification(ModificationType.REPLACE, Attributes.create(
- attrType, adminPort)));
+ AttributeType attrType1 = DirectoryServer.getAttributeType("adminport".toLowerCase(), true);
+ AttributeType attrType2 = DirectoryServer.getAttributeType("adminEnabled".toLowerCase(), true);
- // adminEnabled
- attName = "adminEnabled";
- attrType = DirectoryServer.getAttributeType(attName.toLowerCase());
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attName.toLowerCase());
- }
- mods.add(new Modification(ModificationType.REPLACE, Attributes.create(
- attrType, "true")));
+ LinkedList<Modification> mods = new LinkedList<>();
+ mods.add(new Modification(ModificationType.REPLACE, Attributes.create(attrType1, adminPort)));
+ mods.add(new Modification(ModificationType.REPLACE, Attributes.create(attrType2, "true")));
// Process modification
internalConnection.processModify(serverEntryDN, mods);
}
-
-
/**
* Look for the DN of the local register server. Assumption: default
* Connection Handler naming is used.
@@ -158,21 +131,15 @@
DN returnDN = null;
// Get the LDAP and LDAPS port
- String ldapPort = getAttr(
- "cn=LDAP Connection Handler,cn=Connection Handlers,cn=config",
- LDAP_PORT);
- String ldapsPort = getAttr(
- "cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config",
- LDAP_PORT);
+ String ldapPort = getAttr("cn=LDAP Connection Handler,cn=Connection Handlers,cn=config", LDAP_PORT);
+ String ldapsPort = getAttr("cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config", LDAP_PORT);
boolean ldapsPortEnable = false;
- String val = getAttr(
- "cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config",
- "ds-cfg-enabled");
+ String val = getAttr("cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config", "ds-cfg-enabled");
if (val != null)
{
- ldapsPortEnable = val.toLowerCase().equals("true");
+ ldapsPortEnable = "true".equals(val.toLowerCase());
}
- if ((ldapPort == null) && (ldapsPort == null))
+ if (ldapPort == null && ldapsPort == null)
{
// best effort (see assumption)
return null;
@@ -182,7 +149,7 @@
String hostName;
try
{
- hostName = java.net.InetAddress.getLocalHost().getCanonicalHostName();
+ hostName = InetAddress.getLocalHost().getCanonicalHostName();
}
catch (Throwable t)
{
@@ -197,50 +164,12 @@
InternalSearchOperation op = internalConnection.processSearch(request);
if (op.getResultCode() == ResultCode.SUCCESS)
{
- Entry entry = null;
- for (Entry currentEntry : op.getSearchEntries())
- {
- String currentHostname =
- currentEntry.parseAttribute("hostname").asString();
- try
- {
- String currentIPAddress = java.net.InetAddress.getByName(
- currentHostname).getCanonicalHostName();
- if (currentIPAddress.equals(hostName))
- {
- // Check if one of the port match
- String currentport =
- currentEntry.parseAttribute("ldapport").asString();
- if (currentport.equals(ldapPort))
- {
- entry = currentEntry;
- break;
- }
- if (ldapsPortEnable)
- {
- currentport =
- currentEntry.parseAttribute("ldapsport").asString();
- if (currentport.equals(ldapsPort))
- {
- entry = currentEntry;
- break;
- }
- }
- }
- }
- catch (Exception e)
- {
- // best effort.
- continue;
- }
- }
-
+ Entry entry = findSameHostAndPort(op.getSearchEntries(), hostName, ldapPort, ldapsPortEnable, ldapsPort);
if (entry != null)
{
returnDN = entry.getName();
}
}
-
}
catch (DirectoryException e)
{
@@ -250,7 +179,41 @@
return returnDN;
}
-
+ private Entry findSameHostAndPort(LinkedList<SearchResultEntry> searchResultEntries,
+ String hostName, String ldapPort, boolean ldapsPortEnable, String ldapsPort)
+ {
+ for (Entry currentEntry : searchResultEntries)
+ {
+ String currentHostname = currentEntry.parseAttribute("hostname").asString();
+ try
+ {
+ String currentIPAddress = InetAddress.getByName(currentHostname).getCanonicalHostName();
+ if (currentIPAddress.equals(hostName))
+ {
+ // Check if one of the port match
+ String currentport = currentEntry.parseAttribute("ldapport").asString();
+ if (currentport.equals(ldapPort))
+ {
+ return currentEntry;
+ }
+ if (ldapsPortEnable)
+ {
+ currentport = currentEntry.parseAttribute("ldapsport").asString();
+ if (currentport.equals(ldapsPort))
+ {
+ return currentEntry;
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ // best effort.
+ continue;
+ }
+ }
+ return null;
+ }
/**
* Gets an attribute value from an entry.
@@ -282,7 +245,7 @@
{
// can not happen
// best effort.
- // TODO Log an Error.
+ logger.traceException(e);
return null;
}
@@ -294,23 +257,17 @@
adminConnectorEntry = result.getFirst();
}
- AttributeType attrType = DirectoryServer.getAttributeType(attrName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
+ AttributeType attrType = DirectoryServer.getAttributeType(attrName, true);
List<Attribute> attrs = adminConnectorEntry.getAttribute(attrType);
- if (attrs == null)
+ if (attrs != null)
{
- // can not happen
- // best effort.
- // TODO Log an Error.
- return null;
+ // Get the attribute value
+ return attrs.get(0).iterator().next().toString();
}
- // Get the attribute value
- return attrs.get(0).iterator().next().toString();
+ // can not happen
+ // best effort.
+ // TODO Log an Error.
+ return null;
}
-
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciEffectiveRights.java b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciEffectiveRights.java
index 13b4a67..8c51230 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciEffectiveRights.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciEffectiveRights.java
@@ -28,13 +28,17 @@
import static org.opends.server.authorization.dseecompat.Aci.*;
-import org.forgerock.opendj.ldap.ByteString;
-import org.opends.server.core.DirectoryServer;
-import org.opends.server.types.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
+import org.forgerock.opendj.ldap.ByteString;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.types.Attribute;
+import org.opends.server.types.AttributeType;
+import org.opends.server.types.Attributes;
+import org.opends.server.types.Entry;
+
/**
* This class implements the dseecompat geteffectiverights evaluation.
*/
@@ -274,20 +278,14 @@
}
else
{
- AttributeType attrType = DirectoryServer.getAttributeType(a
- .toLowerCase());
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(a.toLowerCase());
- }
- nonRightsAttrs.add(attrType);
+ nonRightsAttrs.add(DirectoryServer.getAttributeType(a.toLowerCase(), true));
}
}
}
// If the special geteffectiverights attributes were not found or
// the user does not have both bypass-acl privs and is not allowed to
- // perform rights evalation -- return the entry unchanged.
+ // perform rights evaluation -- return the entry unchanged.
if (attrMask == ACI_NULL
|| (!skipCheck && !rightsAccessAllowed(container, handler, attrMask)))
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciHandler.java b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciHandler.java
index c0e9d50..a7c5fef 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciHandler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciHandler.java
@@ -139,12 +139,7 @@
private static AttributeType getAttributeType(String name)
{
- AttributeType attrType = DirectoryServer.getAttributeType(name);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(name);
- }
- return attrType;
+ return DirectoryServer.getAttributeType(name, true);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/ParentInheritance.java b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/ParentInheritance.java
index 46a82b1..39ab2cb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/ParentInheritance.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/ParentInheritance.java
@@ -220,13 +220,7 @@
* @return The attribute type.
*/
public AttributeType getAttributeType() {
- final String attrName = attrTypeStr.toLowerCase();
- AttributeType attrType = DirectoryServer.getAttributeType(attrName);
- if(attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
- return attrType;
+ return DirectoryServer.getAttributeType(attrTypeStr.toLowerCase(), true);
}
/**
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargAttrFilterList.java b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargAttrFilterList.java
index f812190..1cb4cba 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargAttrFilterList.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargAttrFilterList.java
@@ -132,10 +132,7 @@
attributeName=attributeName.substring(0, semicolon);
}
String filterString=matcher.group(filterPos);
- AttributeType attrType = DirectoryServer.getAttributeType(attributeName);
- if (attrType == null) {
- attrType = DirectoryServer.getDefaultAttributeType(attributeName);
- }
+ AttributeType attrType = DirectoryServer.getAttributeType(attributeName, true);
SearchFilter filter;
//Check if it is a valid filter and add it to the list map if ok.
try {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java
index b77f18f..f46cf72 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java
@@ -39,18 +39,18 @@
/**
* A class representing an ACI's targetattr keyword.
*/
-public class TargetAttr {
+class TargetAttr {
/** Enumeration representing the targetattr operator. */
- private EnumTargetOperator operator = EnumTargetOperator.EQUALITY;
+ private final EnumTargetOperator operator;
/** Flags that is set if all user attributes pattern seen "*". */
private boolean allUserAttributes;
/** Flags that is set if all operational attributes pattern seen "+". */
private boolean allOpAttributes;
/** Set of the attribute types parsed by the constructor. */
- private HashSet<AttributeType> attributes = new HashSet<>();
+ private final HashSet<AttributeType> attributes = new HashSet<>();
/** Set of the operational attribute types parsed by the constructor. */
- private HashSet<AttributeType> opAttributes = new HashSet<>();
+ private final HashSet<AttributeType> opAttributes = new HashSet<>();
/**
* Regular expression that matches one or more ATTR_NAME's separated by
@@ -132,10 +132,7 @@
throw new AciException(message);
}
} else {
- AttributeType attrType = DirectoryServer.getAttributeType(attribute);
- if (attrType == null) {
- attrType = DirectoryServer.getDefaultAttributeType(attribute);
- }
+ AttributeType attrType = DirectoryServer.getAttributeType(attribute, true);
if(attrType.isOperational())
{
opAttributes.add(attrType);
@@ -175,24 +172,6 @@
}
/**
- * Return array holding each attribute type to be evaluated
- * in the expression.
- * @return Array holding each attribute types.
- */
- public HashSet<AttributeType> getAttributes() {
- return attributes;
- }
-
- /**
- * Return array holding operational attribute types to be evaluated
- * in the expression.
- * @return Array holding attribute types.
- */
- public HashSet<AttributeType> getOpAttributes() {
- return opAttributes;
- }
-
- /**
* Decodes an targetattr expression string into a targetattr class suitable
* for evaluation.
* @param operator The operator enumeration of the expression.
@@ -200,8 +179,7 @@
* @return A TargetAttr suitable to evaluate this ACI's targetattrs.
* @throws AciException If the expression string is invalid.
*/
- public static TargetAttr decode(EnumTargetOperator operator, String expr)
- throws AciException {
+ static TargetAttr decode(EnumTargetOperator operator, String expr) throws AciException {
return new TargetAttr(operator, expr);
}
@@ -224,8 +202,7 @@
* @return The boolean result of the above tests and application
* TargetAttr's operator value applied to the test result.
*/
-
- public static boolean isApplicable(AttributeType a, TargetAttr targetAttr) {
+ static boolean isApplicable(AttributeType a, TargetAttr targetAttr) {
if(targetAttr.isAllUserAttributes() && targetAttr.isAllOpAttributes()) {
return !targetAttr.getOperator().equals(EnumTargetOperator.NOT_EQUALITY);
} else {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/UserAttr.java b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/UserAttr.java
index e4d5da9..a4009fa 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/UserAttr.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/UserAttr.java
@@ -201,10 +201,7 @@
private EnumEvalResult evalVAL(AciEvalContext evalCtx) {
EnumEvalResult matched= EnumEvalResult.FALSE;
boolean undefined=false;
- AttributeType attrType = DirectoryServer.getAttributeType(attrStr);
- if (attrType == null) {
- attrType = DirectoryServer.getDefaultAttributeType(attrStr);
- }
+ AttributeType attrType = DirectoryServer.getAttributeType(attrStr, true);
final SearchRequest request = newSearchRequest(evalCtx.getClientDN(), SearchScope.BASE_OBJECT);
InternalSearchOperation op = getRootConnection().processSearch(request);
LinkedList<SearchResultEntry> result = op.getSearchEntries();
@@ -232,10 +229,7 @@
private EnumEvalResult evalURL(AciEvalContext evalCtx) {
EnumEvalResult matched= EnumEvalResult.FALSE;
boolean undefined=false;
- AttributeType attrType = DirectoryServer.getAttributeType(attrStr);
- if (attrType == null) {
- attrType = DirectoryServer.getDefaultAttributeType(attrStr);
- }
+ AttributeType attrType = DirectoryServer.getAttributeType(attrStr, true);
List<Attribute> attrs=evalCtx.getResourceEntry().getAttribute(attrType);
if(!attrs.isEmpty()) {
for(Attribute a : attrs) {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
index e946a30..3ad9be6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
@@ -749,11 +749,7 @@
private SearchFilter buildSearchFilterFrom(final DN baseDN, final String lowerCaseAttr, final String upperCaseAttr)
{
final RDN rdn = baseDN.rdn();
- AttributeType attrType = DirectoryServer.getAttributeType(lowerCaseAttr);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(upperCaseAttr);
- }
+ AttributeType attrType = DirectoryServer.getAttributeType(lowerCaseAttr, upperCaseAttr);
final ByteString attrValue = rdn.getAttributeValue(attrType);
if (attrValue != null)
{
@@ -1548,11 +1544,7 @@
final Map<AttributeType, List<Attribute>> userAttrs,
final Map<AttributeType, List<Attribute>> operationalAttrs, final boolean addByType)
{
- AttributeType attrType = DirectoryServer.getAttributeType(attrNameLowercase);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrNameUppercase);
- }
+ AttributeType attrType = DirectoryServer.getAttributeType(attrNameLowercase, attrNameUppercase);
final Attribute a = addByType
? Attributes.create(attrType, attrValue)
: Attributes.create(attrNameUppercase, attrValue);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
index bdc271b..8cc34da 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
@@ -636,11 +636,7 @@
private Attribute createAttribute(String name, String lowerName,
Collection<? extends Object> values)
{
- AttributeType type = DirectoryServer.getAttributeType(lowerName);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(name);
- }
+ AttributeType type = DirectoryServer.getAttributeType(lowerName, name);
AttributeBuilder builder = new AttributeBuilder(type, name);
builder.addAllStrings(values);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
index 8e7decf..70c3356 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
@@ -164,7 +164,7 @@
private static final int MINIMUM_AVAILABLE_MEMORY = 32 * MB;
/** The DN attribute type. */
- private static final AttributeType dnType;
+ private static final AttributeType dnType = DirectoryServer.getAttributeType("dn", true);
static final IndexOutputBuffer.IndexComparator indexComparator =
new IndexOutputBuffer.IndexComparator();
@@ -266,16 +266,6 @@
private final DiskSpaceMonitor diskSpaceMonitor;
- static
- {
- AttributeType attrType = DirectoryServer.getAttributeType("dn");
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType("dn");
- }
- dnType = attrType;
- }
-
/**
* Create a new import job with the specified rebuild index config.
*
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java
index cd05410..4e6f2ad 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java
@@ -196,16 +196,7 @@
private static final int SMALL_HEAP_SIZE = 256 * MB;
/** The DN attribute type. */
- private static final AttributeType DN_TYPE;
- static
- {
- AttributeType attrType = DirectoryServer.getAttributeType("dn");
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType("dn");
- }
- DN_TYPE = attrType;
- }
+ private static final AttributeType DN_TYPE = DirectoryServer.getAttributeType("dn", true);
/** Root container. */
private final RootContainer rootContainer;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java
index 2262966..c329fa1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java
@@ -152,12 +152,7 @@
// Get the recurring task ID from the entry. If there isn't one, then fail.
AttributeType attrType = DirectoryServer.getAttributeType(
- ATTR_RECURRING_TASK_ID.toLowerCase());
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(ATTR_RECURRING_TASK_ID);
- }
-
+ ATTR_RECURRING_TASK_ID.toLowerCase(), ATTR_RECURRING_TASK_ID);
List<Attribute> attrList = recurringTaskEntry.getAttribute(attrType);
if (attrList == null || attrList.isEmpty())
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/Task.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/Task.java
index 37fae35..92cb165 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/Task.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/Task.java
@@ -973,13 +973,8 @@
String messageString = buffer.toString();
logMessages.add(messageString);
-
AttributeType type = DirectoryServer.getAttributeType(
- ATTR_TASK_LOG_MESSAGES.toLowerCase());
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(ATTR_TASK_LOG_MESSAGES);
- }
+ ATTR_TASK_LOG_MESSAGES.toLowerCase(), ATTR_TASK_LOG_MESSAGES);
List<Attribute> attrList = taskEntry.getAttribute(type);
ByteString value = ByteString.valueOf(messageString);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java
index e74b3ee..636515a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java
@@ -1804,13 +1804,7 @@
throws DirectoryException
{
// Get the name of the class that implements the task logic.
- AttributeType attrType =
- DirectoryServer.getAttributeType(ATTR_TASK_CLASS.toLowerCase());
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(ATTR_TASK_CLASS);
- }
-
+ AttributeType attrType = DirectoryServer.getAttributeType(ATTR_TASK_CLASS.toLowerCase(), ATTR_TASK_CLASS);
List<Attribute> attrList = entry.getAttribute(attrType);
if ((attrList == null) || attrList.isEmpty())
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/config/ConfigEntry.java b/opendj-server-legacy/src/main/java/org/opends/server/config/ConfigEntry.java
index 5c2aaed..e8579b5 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/config/ConfigEntry.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/config/ConfigEntry.java
@@ -33,12 +33,13 @@
import java.util.concurrent.CopyOnWriteArrayList;
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.api.ConfigAddListener;
import org.opends.server.api.ConfigChangeListener;
import org.opends.server.api.ConfigDeleteListener;
import org.opends.server.core.DirectoryServer;
-import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.types.*;
+
import static org.opends.messages.ConfigMessages.*;
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.util.StaticUtils.*;
@@ -191,13 +192,7 @@
throws ConfigException
{
String attrName = stub.getName();
- AttributeType attrType =
- DirectoryServer.getAttributeType(attrName.toLowerCase());
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
+ AttributeType attrType = DirectoryServer.getAttributeType(attrName.toLowerCase(), attrName);
List<Attribute> attrList = entry.getAttribute(attrType);
if (attrList != null && !attrList.isEmpty())
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java b/opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java
index eba058b..61a78bb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java
@@ -398,14 +398,8 @@
{
// It's possible that this is a monitor attribute rather than a configurable
// one. Check all of those.
- AttributeType attrType =
- DirectoryServer.getAttributeType(name.toLowerCase());
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(name);
- }
- for (MonitorProvider<? extends MonitorProviderCfg> monitor :
- monitorProviders)
+ AttributeType attrType = DirectoryServer.getAttributeType(name.toLowerCase(), name);
+ for (MonitorProvider<? extends MonitorProviderCfg> monitor : monitorProviders)
{
for (org.opends.server.types.Attribute a : monitor.getMonitorData())
{
@@ -588,12 +582,7 @@
// It's possible that this is a monitor attribute rather than a
// configurable one. Check all of those.
- AttributeType attrType =
- DirectoryServer.getAttributeType(name.toLowerCase());
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(name);
- }
+ AttributeType attrType = DirectoryServer.getAttributeType(name.toLowerCase(), name);
monitorLoop:
for (MonitorProvider<? extends MonitorProviderCfg> monitor :
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/controls/GetEffectiveRightsRequestControl.java b/opendj-server-legacy/src/main/java/org/opends/server/controls/GetEffectiveRightsRequestControl.java
index 0b371d2..7a0fef1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/controls/GetEffectiveRightsRequestControl.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/controls/GetEffectiveRightsRequestControl.java
@@ -26,23 +26,26 @@
*/
package org.opends.server.controls;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.io.ASN1;
import org.forgerock.opendj.io.ASN1Reader;
import org.forgerock.opendj.io.ASN1Writer;
import org.forgerock.opendj.ldap.ByteString;
-import org.opends.server.core.DirectoryServer;
-import org.opends.server.types.*;
import org.forgerock.opendj.ldap.ResultCode;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.types.AttributeType;
+import org.opends.server.types.Control;
+import org.opends.server.types.DN;
+import org.opends.server.types.DirectoryException;
import static org.opends.messages.ProtocolMessages.*;
import static org.opends.server.util.ServerConstants.*;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-
/**
* This class partially implements the geteffectiverights control as defined
* in draft-ietf-ldapext-acl-model-08.txt. The main differences are:
@@ -116,14 +119,8 @@
attrs = new LinkedList<>();
reader.readStartSequence();
while(reader.hasNextElement()) {
- //Decode as an octet string.
String attrStr = reader.readOctetStringAsString();
- AttributeType attrType = DirectoryServer.getAttributeType(attrStr);
- //Get an attribute type for it and add to the list.
- if (attrType == null) {
- attrType = DirectoryServer.getDefaultAttributeType(attrStr);
- }
- attrs.add(attrType);
+ attrs.add(DirectoryServer.getAttributeType(attrStr, true));
}
reader.readEndSequence();
}
@@ -145,7 +142,6 @@
{
return OID_GET_EFFECTIVE_RIGHTS;
}
-
}
/**
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/controls/MatchedValuesFilter.java b/opendj-server-legacy/src/main/java/org/opends/server/controls/MatchedValuesFilter.java
index 1c1ec6b..e07efcb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/controls/MatchedValuesFilter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/controls/MatchedValuesFilter.java
@@ -38,11 +38,13 @@
import org.forgerock.opendj.ldap.Assertion;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DecodeException;
-import org.forgerock.util.Reject;
import org.forgerock.opendj.ldap.schema.MatchingRule;
+import org.forgerock.util.Reject;
import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.ldap.LDAPResultCode;
-import org.opends.server.types.*;
+import org.opends.server.types.AttributeType;
+import org.opends.server.types.LDAPException;
+import org.opends.server.types.RawFilter;
import static org.opends.messages.ProtocolMessages.*;
import static org.opends.server.protocols.ldap.LDAPConstants.*;
@@ -897,11 +899,8 @@
{
if (attributeType == null && rawAttributeType != null)
{
- attributeType = DirectoryServer.getAttributeType(toLowerCase(rawAttributeType));
- if (attributeType == null)
- {
- attributeType = DirectoryServer.getDefaultAttributeType(rawAttributeType);
- }
+ String lowerName = toLowerCase(rawAttributeType);
+ attributeType = DirectoryServer.getAttributeType(lowerName, rawAttributeType);
}
return attributeType;
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java b/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
index 6a03958..564c2c1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
@@ -73,6 +73,7 @@
import org.forgerock.opendj.ldap.schema.MatchingRule;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
+import org.forgerock.opendj.ldap.schema.Syntax;
import org.forgerock.util.Reject;
import org.forgerock.util.Utils;
import org.opends.server.admin.AdministrationConnector;
@@ -91,7 +92,6 @@
import org.opends.server.api.AccountStatusNotificationHandler;
import org.opends.server.api.AlertGenerator;
import org.opends.server.api.AlertHandler;
-import org.forgerock.opendj.ldap.schema.Syntax;
import org.opends.server.api.AuthenticationPolicy;
import org.opends.server.api.Backend;
import org.opends.server.api.BackendInitializationListener;
@@ -2899,11 +2899,30 @@
{
type = getDefaultAttributeType(lowerName);
}
-
return type;
}
-
+ /**
+ * Retrieves the attribute type for the provided lowercase name or OID. It will return a generated
+ * "default" version with the uppercase name or OID if the requested attribute type is not defined
+ * in the schema.
+ *
+ * @param lowerName
+ * The lowercase name or OID for the attribute type to retrieve.
+ * @param upperName
+ * The uppercase name or OID for the attribute type to generate.
+ * @return The requested attribute type, or a generated "default" version if there is no attribute
+ * with the specified type defined in the server schema
+ */
+ public static AttributeType getAttributeType(String lowerName, String upperName)
+ {
+ AttributeType type = directoryServer.schema.getAttributeType(lowerName);
+ if (type == null)
+ {
+ type = getDefaultAttributeType(upperName);
+ }
+ return type;
+ }
/**
* Registers the provided attribute type with the Directory Server.
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
index 73de5fb..3ad8f6a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
@@ -318,7 +318,6 @@
{
// Get the password changed time for the user.
AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_CHANGED_TIME_LC, true);
-
try
{
passwordChangedTime = getGeneralizedTime(userEntry, type);
@@ -656,12 +655,8 @@
return authFailureTimes;
}
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_FAILURE_TIME_LC, OP_ATTR_PWPOLICY_FAILURE_TIME);
try
{
authFailureTimes = getGeneralizedTimes(type);
@@ -770,12 +765,8 @@
failureTimes.add(highestFailureTime);
// And the attribute in the user entry
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_FAILURE_TIME_LC, OP_ATTR_PWPOLICY_FAILURE_TIME);
Attribute addAttr = Attributes.create(type, GeneralizedTimeSyntax.format(highestFailureTime));
modifications.add(new Modification(ModificationType.ADD, addAttr, true));
@@ -856,12 +847,8 @@
failureTimes.clear(); // Note: failureTimes != this.authFailureTimes
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_FAILURE_TIME_LC, OP_ATTR_PWPOLICY_FAILURE_TIME);
modifications.add(new Modification(ModificationType.REPLACE, Attributes.empty(type), true));
}
@@ -878,12 +865,8 @@
return failureLockedTime;
}
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_LOCKED_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_LOCKED_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_LOCKED_TIME_LC, OP_ATTR_PWPOLICY_LOCKED_TIME);
try
{
failureLockedTime = getGeneralizedTime(userEntry, type);
@@ -916,12 +899,8 @@
failureLockedTime = time;
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_LOCKED_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_LOCKED_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_LOCKED_TIME_LC, OP_ATTR_PWPOLICY_LOCKED_TIME);
Attribute a = Attributes.create(type, GeneralizedTimeSyntax.format(failureLockedTime));
modifications.add(new Modification(ModificationType.REPLACE, a, true));
}
@@ -945,12 +924,8 @@
failureLockedTime = -1L;
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_LOCKED_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_LOCKED_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_LOCKED_TIME_LC, OP_ATTR_PWPOLICY_LOCKED_TIME);
modifications.add(new Modification(ModificationType.REPLACE, Attributes.empty(type), true));
}
@@ -1392,12 +1367,8 @@
return false;
}
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_RESET_REQUIRED_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_RESET_REQUIRED);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_RESET_REQUIRED_LC, OP_ATTR_PWPOLICY_RESET_REQUIRED);
try
{
mustChangePassword = getBoolean(userEntry, type);
@@ -1444,14 +1415,9 @@
return; // requested state matches current state
}
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_RESET_REQUIRED_LC, OP_ATTR_PWPOLICY_RESET_REQUIRED);
this.mustChangePassword = ConditionResult.not(this.mustChangePassword);
-
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_RESET_REQUIRED_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_RESET_REQUIRED);
- }
-
if (mustChangePassword)
{
Attribute a = Attributes.create(type, String.valueOf(true));
@@ -2044,12 +2010,8 @@
{
if (graceLoginTimes == null)
{
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME_LC, OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
try
{
graceLoginTimes = getGeneralizedTimes(type);
@@ -2116,12 +2078,8 @@
}
graceTimes.add(highestGraceTime); // graceTimes == this.graceLoginTimes
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME_LC, OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
Attribute addAttr = Attributes.create(type, GeneralizedTimeSyntax.format(highestGraceTime));
modifications.add(new Modification(ModificationType.ADD, addAttr, true));
}
@@ -2179,12 +2137,8 @@
}
graceTimes.clear(); // graceTimes == this.graceLoginTimes
- AttributeType type = DirectoryServer.getAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME_LC);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
- }
-
+ AttributeType type = DirectoryServer.getAttributeType(
+ OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME_LC, OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
modifications.add(new Modification(ModificationType.REPLACE, Attributes.empty(type), true));
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/monitors/ClientConnectionMonitorProvider.java b/opendj-server-legacy/src/main/java/org/opends/server/monitors/ClientConnectionMonitorProvider.java
index 08fc046..1f97475 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/monitors/ClientConnectionMonitorProvider.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/monitors/ClientConnectionMonitorProvider.java
@@ -26,7 +26,6 @@
*/
package org.opends.server.monitors;
-import java.util.Collection;
import java.util.List;
import java.util.TreeMap;
@@ -137,11 +136,9 @@
if (handler == null)
{
// Get information about all the available connections.
- for (ConnectionHandler<?> hdl : DirectoryServer
- .getConnectionHandlers())
+ for (ConnectionHandler<?> hdl : DirectoryServer.getConnectionHandlers())
{
- // FIXME: connections from different handlers could have the
- // same ID.
+ // FIXME: connections from different handlers could have the same ID.
for (ClientConnection conn : hdl.getClientConnections())
{
connMap.put(conn.getConnectionID(), conn);
@@ -150,9 +147,7 @@
}
else
{
- Collection<ClientConnection> collection =
- handler.getClientConnections();
- for (ClientConnection conn : collection)
+ for (ClientConnection conn : handler.getClientConnections())
{
connMap.put(conn.getConnectionID(), conn);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPFilter.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPFilter.java
index 0c1756b..99188db 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPFilter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPFilter.java
@@ -40,13 +40,16 @@
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.schema.MatchingRule;
import org.opends.server.core.DirectoryServer;
-import org.opends.server.types.*;
+import org.opends.server.types.AttributeType;
+import org.opends.server.types.DirectoryException;
+import org.opends.server.types.FilterType;
+import org.opends.server.types.LDAPException;
+import org.opends.server.types.RawFilter;
+import org.opends.server.types.SearchFilter;
import static org.opends.messages.ProtocolMessages.*;
import static org.opends.server.util.StaticUtils.*;
-
-
/**
* This class defines the data structures and methods to use when interacting
* with an LDAP search filter, which defines a set of criteria for locating
@@ -1907,12 +1910,7 @@
if (semicolonPos > 0)
{
String baseName = attributeType.substring(0, semicolonPos);
- attrType = DirectoryServer.getAttributeType(toLowerCase(baseName));
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(baseName);
- }
-
+ attrType = DirectoryServer.getAttributeType(toLowerCase(baseName), baseName);
options = new HashSet<>();
StringTokenizer tokenizer =
new StringTokenizer(attributeType.substring(semicolonPos+1), ";");
@@ -1924,12 +1922,7 @@
else
{
options = null;
- attrType =
- DirectoryServer.getAttributeType(toLowerCase(attributeType));
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attributeType);
- }
+ attrType = DirectoryServer.getAttributeType(toLowerCase(attributeType), attributeType);
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalAttributeValue.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalAttributeValue.java
index 1abfee7..2adc7e7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalAttributeValue.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalAttributeValue.java
@@ -33,7 +33,10 @@
import org.forgerock.opendj.ldap.ModificationType;
import org.opends.server.core.DirectoryServer;
import org.opends.server.replication.common.CSN;
-import org.opends.server.types.*;
+import org.opends.server.types.Attribute;
+import org.opends.server.types.AttributeBuilder;
+import org.opends.server.types.AttributeType;
+import org.opends.server.types.Modification;
/**
* This class stores an internal usable representation of the value of
@@ -114,11 +117,7 @@
{
// This HistVal was used to store the date when some
// modifications were done to the entries.
- attrType = DirectoryServer.getSchema().getAttributeType(attrString);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrString);
- }
+ attrType = DirectoryServer.getAttributeType(attrString, true);
}
else
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
index ebf974e..04a084b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -3425,17 +3425,11 @@
// For the checksum computing mode, only consider the 'stable' attributes
if (checksumOutput)
{
- String includeAttributeStrings[] =
- {"objectclass", "sn", "cn", "entryuuid"};
+ String includeAttributeStrings[] = { "objectclass", "sn", "cn", "entryuuid" };
Set<AttributeType> includeAttributes = new HashSet<>();
for (String attrName : includeAttributeStrings)
{
- AttributeType attrType = DirectoryServer.getAttributeType(attrName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
- includeAttributes.add(attrType);
+ includeAttributes.add(DirectoryServer.getAttributeType(attrName, true));
}
exportConfig.setIncludeAttributes(includeAttributes);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/AttributeTypeSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/AttributeTypeSyntax.java
index 503b6e6..e221c63 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/AttributeTypeSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/AttributeTypeSyntax.java
@@ -523,19 +523,19 @@
// which this attribute type should inherit its properties.
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, pos);
- superiorType = schema.getAttributeType(woidBuffer.toString());
+ String woidString = woidBuffer.toString();
+ superiorType = schema.getAttributeType(woidString);
if (superiorType == null)
{
if (allowUnknownElements)
{
- superiorType = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
+ superiorType = DirectoryServer.getDefaultAttributeType(woidString);
}
else
{
// This is bad because we don't know what the superior attribute
// type is so we can't base this attribute type on it.
- LocalizableMessage message = WARN_ATTR_SYNTAX_ATTRTYPE_UNKNOWN_SUPERIOR_TYPE.get(oid, woidBuffer);
+ LocalizableMessage message = WARN_ATTR_SYNTAX_ATTRTYPE_UNKNOWN_SUPERIOR_TYPE.get(oid, woidString);
throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message);
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java
index f342d9c..ae99a04 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java
@@ -36,6 +36,7 @@
import java.util.List;
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.LocalizableMessageDescriptor.Arg2;
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
@@ -504,28 +505,10 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos));
+ attrs.add(getAttribute(schema, allowUnknownElements, valueStr, woidBuffer,
+ ERR_ATTR_SYNTAX_DCR_UNKNOWN_REQUIRED_ATTR));
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the DIT content rule
- // requires an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_DCR_UNKNOWN_REQUIRED_ATTR.get(valueStr, woidBuffer));
- }
- }
-
- attrs.add(attr);
-
-
- // The next character must be either a dollar sign or a closing
- // parenthesis.
+ // The next character must be either a dollar sign or a closing parenthesis.
c = valueStr.charAt(pos++);
if (c == ')')
{
@@ -544,25 +527,8 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos-1));
-
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the DIT content rule
- // requires an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_DCR_UNKNOWN_REQUIRED_ATTR.get(valueStr, woidBuffer));
- }
- }
-
- attrs.add(attr);
+ attrs.add(getAttribute(schema, allowUnknownElements, valueStr, woidBuffer,
+ ERR_ATTR_SYNTAX_DCR_UNKNOWN_REQUIRED_ATTR));
}
requiredAttributes.addAll(attrs);
@@ -582,29 +548,10 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos));
+ attrs.add(getAttribute(schema, allowUnknownElements, valueStr, woidBuffer,
+ ERR_ATTR_SYNTAX_DCR_UNKNOWN_OPTIONAL_ATTR));
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the DIT content rule
- // allows an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_DCR_UNKNOWN_OPTIONAL_ATTR.get(valueStr, woidBuffer));
- }
- }
-
- attrs.add(attr);
-
-
- // The next character must be either a dollar sign or a closing
- // parenthesis.
+ // The next character must be either a dollar sign or a closing parenthesis.
c = valueStr.charAt(pos++);
if (c == ')')
{
@@ -623,25 +570,8 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos-1));
-
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the DIT content rule allows
- // an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_DCR_UNKNOWN_OPTIONAL_ATTR.get(valueStr, woidBuffer));
- }
- }
-
- attrs.add(attr);
+ attrs.add(getAttribute(schema, allowUnknownElements, valueStr, woidBuffer,
+ ERR_ATTR_SYNTAX_DCR_UNKNOWN_OPTIONAL_ATTR));
}
optionalAttributes.addAll(attrs);
@@ -661,30 +591,10 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos));
+ attrs.add(getAttribute(schema, allowUnknownElements, valueStr, woidBuffer,
+ ERR_ATTR_SYNTAX_DCR_UNKNOWN_PROHIBITED_ATTR));
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the DIT content rule
- // prohibits an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_DCR_UNKNOWN_PROHIBITED_ATTR.get(
- valueStr, woidBuffer));
- }
- }
-
- attrs.add(attr);
-
-
- // The next character must be either a dollar sign or a closing
- // parenthesis.
+ // The next character must be either a dollar sign or a closing parenthesis.
c = valueStr.charAt(pos++);
if (c == ')')
{
@@ -703,25 +613,8 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos-1));
-
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the DIT content rule
- // prohibits an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_DCR_UNKNOWN_PROHIBITED_ATTR.get(valueStr, woidBuffer));
- }
- }
-
- attrs.add(attr);
+ attrs.add(getAttribute(schema, allowUnknownElements, valueStr, woidBuffer,
+ ERR_ATTR_SYNTAX_DCR_UNKNOWN_PROHIBITED_ATTR));
}
prohibitedAttributes.addAll(attrs);
@@ -770,6 +663,25 @@
isObsolete, extraProperties);
}
+ private static AttributeType getAttribute(Schema schema, boolean allowUnknownElements, String valueStr,
+ StringBuilder woidBuffer, Arg2<Object, Object> msg) throws DirectoryException
+ {
+ String woidString = woidBuffer.toString();
+ AttributeType attr = schema.getAttributeType(woidString);
+ if (attr == null)
+ {
+ // This isn't good because it means that the DIT content rule
+ // refers to an attribute type that we don't know anything about.
+ if (!allowUnknownElements)
+ {
+ throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
+ msg.get(valueStr, woidString));
+ }
+ attr = DirectoryServer.getDefaultAttributeType(woidString);
+ }
+ return attr;
+ }
+
/**
* Reads the next token name from the DIT content rule definition, skipping
* over any leading or trailing spaces, and appends it to the provided buffer.
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleUseSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleUseSyntax.java
index a3c5f53..4601b88 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleUseSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleUseSyntax.java
@@ -395,29 +395,9 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos));
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer));
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the matching rule use
- // specifies an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_MRUSE_UNKNOWN_ATTR.get(oid, woidBuffer));
- }
- }
-
- attrs.add(attr);
-
-
- // The next character must be either a dollar sign or a closing
- // parenthesis.
+ // The next character must be either a dollar sign or a closing parenthesis.
c = valueStr.charAt(pos++);
if (c == ')')
{
@@ -436,25 +416,7 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos-1));
-
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the matching rule use
- // specifies an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_MRUSE_UNKNOWN_ATTR.get(oid, woidBuffer));
- }
- }
-
- attrs.add(attr);
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer));
}
attributes = new LinkedHashSet<>(attrs);
@@ -486,6 +448,25 @@
extraProperties);
}
+ private static AttributeType getAttributeType(
+ Schema schema, boolean allowUnknownElements, String oid, StringBuilder woidBuffer) throws DirectoryException
+ {
+ String woidString = woidBuffer.toString();
+ AttributeType attr = schema.getAttributeType(woidString);
+ if (attr == null)
+ {
+ // This isn't good because it means that the matching rule use
+ // refers to an attribute type that we don't know anything about.
+ if (!allowUnknownElements)
+ {
+ throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
+ ERR_ATTR_SYNTAX_MRUSE_UNKNOWN_ATTR.get(oid, woidString));
+ }
+ attr = DirectoryServer.getDefaultAttributeType(woidString);
+ }
+ return attr;
+ }
+
/**
* Reads the next token name from the matching rule use definition, skipping
* over any leading or trailing spaces, and appends it to the provided buffer.
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java
index cd949e1..f46a6f6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java
@@ -36,6 +36,7 @@
import java.util.List;
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.LocalizableMessageDescriptor.Arg2;
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
@@ -432,29 +433,10 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos));
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer,
+ ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_REQUIRED_ATTR));
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the name form requires
- // an attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_REQUIRED_ATTR.get(oid, woidBuffer));
- }
- }
-
- attrs.add(attr);
-
-
- // The next character must be either a dollar sign or a closing
- // parenthesis.
+ // The next character must be either a dollar sign or a closing parenthesis.
c = valueStr.charAt(pos++);
if (c == ')')
{
@@ -474,25 +456,8 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos-1));
-
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the name form requires an
- // attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_REQUIRED_ATTR.get(oid, woidBuffer));
- }
- }
-
- attrs.add(attr);
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer,
+ ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_REQUIRED_ATTR));
}
requiredAttributes.addAll(attrs);
@@ -512,29 +477,10 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos));
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer,
+ ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_OPTIONAL_ATTR));
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the name form allows an
- // attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_OPTIONAL_ATTR.get(oid, woidBuffer));
- }
- }
-
- attrs.add(attr);
-
-
- // The next character must be either a dollar sign or a closing
- // parenthesis.
+ // The next character must be either a dollar sign or a closing parenthesis.
c = valueStr.charAt(pos++);
if (c == ')')
{
@@ -554,25 +500,8 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos-1));
-
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- // This isn't good because it means that the name form allows an
- // attribute type that we don't know anything about.
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_OPTIONAL_ATTR.get(oid, woidBuffer));
- }
- }
-
- attrs.add(attr);
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer,
+ ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_OPTIONAL_ATTR));
}
optionalAttributes.addAll(attrs);
@@ -606,6 +535,25 @@
optionalAttributes, extraProperties);
}
+ private static AttributeType getAttributeType(Schema schema, boolean allowUnknownElements, String oid,
+ StringBuilder woidBuffer, Arg2<Object, Object> msg) throws DirectoryException
+ {
+ String woidString = woidBuffer.toString();
+ AttributeType attr = schema.getAttributeType(woidString);
+ if (attr == null)
+ {
+ // This isn't good because it means that the name form
+ // refers to an attribute type that we don't know anything about.
+ if (!allowUnknownElements)
+ {
+ throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
+ msg.get(oid, woidString));
+ }
+ attr = DirectoryServer.getDefaultAttributeType(woidString);
+ }
+ return attr;
+ }
+
/**
* Reads the next token name from the name form definition, skipping over any
* leading or trailing spaces, and appends it to the provided buffer.
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/ObjectClassSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/ObjectClassSyntax.java
index 4372579..224a9e0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/ObjectClassSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/ObjectClassSyntax.java
@@ -40,6 +40,7 @@
import java.util.Set;
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.LocalizableMessageDescriptor.Arg2;
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
@@ -561,32 +562,10 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos));
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer,
+ WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_REQUIRED_ATTR));
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- // This isn't good because it means that the objectclass
- // requires an attribute type that we don't know anything about.
- LocalizableMessage message =
- WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_REQUIRED_ATTR.
- get(oid, woidBuffer);
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- message);
- }
- }
-
- attrs.add(attr);
-
-
- // The next character must be either a dollar sign or a closing
- // parenthesis.
+ // The next character must be either a dollar sign or a closing parenthesis.
c = valueStr.charAt(pos++);
if (c == ')')
{
@@ -605,28 +584,8 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos-1));
-
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- // This isn't good because it means that the objectclass requires
- // an attribute type that we don't know anything about.
- LocalizableMessage message =
- WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_REQUIRED_ATTR.
- get(oid, woidBuffer);
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- message);
- }
- }
-
- attrs.add(attr);
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer,
+ WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_REQUIRED_ATTR));
}
requiredAttributes.addAll(attrs);
@@ -646,32 +605,10 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos));
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer,
+ WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_OPTIONAL_ATTR));
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- // This isn't good because it means that the objectclass allows
- // an attribute type that we don't know anything about.
- LocalizableMessage message =
- WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_OPTIONAL_ATTR.
- get(oid, woidBuffer);
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- message);
- }
- }
-
- attrs.add(attr);
-
-
- // The next character must be either a dollar sign or a closing
- // parenthesis.
+ // The next character must be either a dollar sign or a closing parenthesis.
c = valueStr.charAt(pos++);
if (c == ')')
{
@@ -690,28 +627,8 @@
{
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, (pos-1));
-
- AttributeType attr = schema.getAttributeType(woidBuffer.toString());
- if (attr == null)
- {
- if (allowUnknownElements)
- {
- attr = DirectoryServer.getDefaultAttributeType(
- woidBuffer.toString());
- }
- else
- {
- // This isn't good because it means that the objectclass allows an
- // attribute type that we don't know anything about.
- LocalizableMessage message =
- WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_OPTIONAL_ATTR.
- get(oid, woidBuffer);
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
- message);
- }
- }
-
- attrs.add(attr);
+ attrs.add(getAttributeType(schema, allowUnknownElements, oid, woidBuffer,
+ WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_OPTIONAL_ATTR));
}
optionalAttributes.addAll(attrs);
@@ -806,6 +723,25 @@
extraProperties);
}
+ private static AttributeType getAttributeType(Schema schema, boolean allowUnknownElements, String oid,
+ StringBuilder woidBuffer, Arg2<Object, Object> msg) throws DirectoryException
+ {
+ String woidString = woidBuffer.toString();
+ AttributeType attr = schema.getAttributeType(woidString);
+ if (attr == null)
+ {
+ // This isn't good because it means that the objectclass
+ // refers to an attribute type that we don't know anything about.
+ if (!allowUnknownElements)
+ {
+ LocalizableMessage message = msg.get(oid, woidString);
+ throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message);
+ }
+ attr = DirectoryServer.getDefaultAttributeType(woidString);
+ }
+ return attr;
+ }
+
/**
* Reads the next token name from the objectclass definition, skipping over
* any leading or trailing spaces, and appends it to the provided buffer.
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tasks/ExportTask.java b/opendj-server-legacy/src/main/java/org/opends/server/tasks/ExportTask.java
index 699a332..8e16b23 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tasks/ExportTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tasks/ExportTask.java
@@ -479,8 +479,7 @@
}
}
- // If we got here the task either completed successfully or
- // was interrupted
+ // If we got here the task either completed successfully or was interrupted
return getFinalTaskState();
}
@@ -493,14 +492,7 @@
HashSet<AttributeType> attributes = new HashSet<>();
for (String attrName : attributeStrings)
{
- String lowerName = attrName.toLowerCase();
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
- attributes.add(attrType);
+ attributes.add(DirectoryServer.getAttributeType(attrName.toLowerCase(), attrName));
}
return attributes;
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tasks/ImportTask.java b/opendj-server-legacy/src/main/java/org/opends/server/tasks/ImportTask.java
index 7cf50ad..a51574c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tasks/ImportTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tasks/ImportTask.java
@@ -834,14 +834,7 @@
final HashSet<AttributeType> attrTypes = new HashSet<>(attrNames.size());
for (String attrName : attrNames)
{
- String lowerName = attrName.toLowerCase();
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
- attrTypes.add(attrType);
+ attrTypes.add(DirectoryServer.getAttributeType(attrName.toLowerCase(), attrName));
}
return attrTypes;
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/ExportLDIF.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/ExportLDIF.java
index 1000401..103d16d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/ExportLDIF.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/ExportLDIF.java
@@ -579,14 +579,8 @@
excludeAttributes = new HashSet<>();
for (String attrName : excludeAttributeStrings.getValues())
{
- String lowerName = attrName.toLowerCase();
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
- excludeAttributes.add(attrType);
+ excludeAttributes.add(
+ DirectoryServer.getAttributeType(attrName.toLowerCase(), attrName));
}
}
@@ -600,14 +594,8 @@
includeAttributes = new HashSet<>();
for (String attrName : includeAttributeStrings.getValues())
{
- String lowerName = attrName.toLowerCase();
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
- includeAttributes.add(attrType);
+ includeAttributes.add(
+ DirectoryServer.getAttributeType(attrName.toLowerCase(), attrName));
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/ImportLDIF.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/ImportLDIF.java
index 5a0d634..3337d99 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/ImportLDIF.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/ImportLDIF.java
@@ -772,13 +772,7 @@
}
else
{
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
- excludeAttributes.add(attrType);
+ excludeAttributes.add(DirectoryServer.getAttributeType(lowerName, attrName));
}
}
}
@@ -806,13 +800,7 @@
}
else
{
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
- includeAttributes.add(attrType);
+ includeAttributes.add(DirectoryServer.getAttributeType(lowerName, attrName));
}
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/AttributeBuilder.java b/opendj-server-legacy/src/main/java/org/opends/server/types/AttributeBuilder.java
index 9d7007f..d321a03 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/AttributeBuilder.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/AttributeBuilder.java
@@ -1020,13 +1020,7 @@
*/
private static AttributeType getAttributeType(String attributeName)
{
- String lc = toLowerCase(attributeName);
- AttributeType type = DirectoryServer.getAttributeType(lc);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(attributeName);
- }
- return type;
+ return DirectoryServer.getAttributeType(toLowerCase(attributeName), attributeName);
}
/** The attribute type for this attribute. */
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/Attributes.java b/opendj-server-legacy/src/main/java/org/opends/server/types/Attributes.java
index 05d83e0..d66696d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/Attributes.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/Attributes.java
@@ -410,8 +410,6 @@
return builder.toAttribute();
}
-
-
/**
* Gets the named attribute type, creating a default attribute if
* necessary.
@@ -423,13 +421,6 @@
*/
private static AttributeType getAttributeType(String attributeName)
{
- String lc = toLowerCase(attributeName);
- AttributeType type = DirectoryServer.getAttributeType(lc);
- if (type == null)
- {
- type = DirectoryServer.getDefaultAttributeType(attributeName);
- }
- return type;
+ return DirectoryServer.getAttributeType(toLowerCase(attributeName), attributeName);
}
-
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/DN.java b/opendj-server-legacy/src/main/java/org/opends/server/types/DN.java
index f8459bf..2d1af31 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/DN.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/DN.java
@@ -650,21 +650,8 @@
{
StringBuilder lowerName = new StringBuilder();
toLowerCase(attributeName, lowerName, true);
- AttributeType attrType =
- DirectoryServer.getAttributeType(lowerName.toString());
String attributeNameString = attributeName.toString();
-
- if (attrType == null)
- {
- // This must be an attribute type that we don't know about.
- // In that case, we'll create a new attribute using the
- // default syntax. If this is a problem, it will be caught
- // later either by not finding the target entry or by not
- // allowing the entry to be added.
- attrType = DirectoryServer.getDefaultAttributeType(
- attributeNameString);
- }
-
+ AttributeType attrType = getAttributeType(lowerName.toString(), attributeNameString);
rdnComponents.add(
new RDN(attrType, attributeNameString, ByteString.empty()));
return new DN(rdnComponents);
@@ -883,8 +870,6 @@
}
}
-
-
/**
* Decodes the provided string as a DN.
*
@@ -1004,19 +989,7 @@
{
String name = attributeName.toString();
String lowerName = toLowerCase(name);
- AttributeType attrType =
- DirectoryServer.getAttributeType(lowerName);
-
- if (attrType == null)
- {
- // This must be an attribute type that we don't know about.
- // In that case, we'll create a new attribute using the
- // default syntax. If this is a problem, it will be caught
- // later either by not finding the target entry or by not
- // allowing the entry to be added.
- attrType = DirectoryServer.getDefaultAttributeType(name);
- }
-
+ AttributeType attrType = getAttributeType(lowerName, name);
rdnComponents.add(new RDN(attrType, name, ByteString.empty()));
return new DN(rdnComponents);
}
@@ -1030,18 +1003,7 @@
// Create the new RDN with the provided information.
String name = attributeName.toString();
String lowerName = toLowerCase(name);
- AttributeType attrType =
- DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- // This must be an attribute type that we don't know about.
- // In that case, we'll create a new attribute using the
- // default syntax. If this is a problem, it will be caught
- // later either by not finding the target entry or by not
- // allowing the entry to be added.
- attrType = DirectoryServer.getDefaultAttributeType(name);
- }
-
+ AttributeType attrType = getAttributeType(lowerName, name);
RDN rdn = new RDN(attrType, name, parsedValue.toByteString());
@@ -1241,7 +1203,20 @@
}
}
-
+ private static AttributeType getAttributeType(String lowerName, String name)
+ {
+ AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
+ if (attrType == null)
+ {
+ // This must be an attribute type that we don't know about.
+ // In that case, we'll create a new attribute using the
+ // default syntax. If this is a problem, it will be caught
+ // later either by not finding the target entry or by not
+ // allowing the entry to be added.
+ attrType = DirectoryServer.getDefaultAttributeType(name);
+ }
+ return attrType;
+ }
/**
* Parses an attribute name from the provided DN string starting at
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/SearchFilter.java b/opendj-server-legacy/src/main/java/org/opends/server/types/SearchFilter.java
index 6e2fbb8..7237170 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/SearchFilter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/SearchFilter.java
@@ -793,19 +793,8 @@
attributeOptions.add(attrType.substring(semicolonPos+1));
}
-
- // Get the attribute type for the specified name.
- AttributeType attributeType =
- DirectoryServer.getAttributeType(lowerType.toString());
- if (attributeType == null)
- {
- String typeStr = attrType.substring(0, lowerType.length());
- attributeType =
- DirectoryServer.getDefaultAttributeType(typeStr);
- }
-
-
// Get the attribute value.
+ AttributeType attributeType = getAttributeType(attrType, lowerType);
String valueStr = filterString.substring(equalPos+1, endPos);
if (valueStr.length() == 0)
{
@@ -1840,15 +1829,7 @@
// Get the attribute type for the specified name.
- attributeType =
- DirectoryServer.getAttributeType(lowerType.toString());
- if (attributeType == null)
- {
- String typeStr = attrType.substring(0, lowerType.length());
- attributeType =
- DirectoryServer.getDefaultAttributeType(typeStr);
- }
-
+ attributeType = getAttributeType(attrType, lowerType);
// If there is anything left, then it should be ":dn" and/or ":"
// followed by the matching rule ID.
@@ -2072,7 +2053,16 @@
dnAttributes);
}
-
+ private static AttributeType getAttributeType(String attrType, StringBuilder lowerType)
+ {
+ AttributeType attributeType = DirectoryServer.getAttributeType(lowerType.toString());
+ if (attributeType == null)
+ {
+ String typeStr = attrType.substring(0, lowerType.length());
+ attributeType = DirectoryServer.getDefaultAttributeType(typeStr);
+ }
+ return attributeType;
+ }
/**
* Retrieves the filter type for this search filter.
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/LDIFReader.java b/opendj-server-legacy/src/main/java/org/opends/server/util/LDIFReader.java
index 61baf14..bd491ec 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/LDIFReader.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/LDIFReader.java
@@ -839,13 +839,7 @@
}
else
{
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrName);
- }
-
-
+ AttributeType attrType = DirectoryServer.getAttributeType(lowerName, attrName);
if (! importConfig.includeAttribute(attrType))
{
if (logger.isTraceEnabled())
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/authorization/dseecompat/TargetAttrTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/authorization/dseecompat/TargetAttrTestCase.java
index 891c0a9..ecec7dd 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/authorization/dseecompat/TargetAttrTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/authorization/dseecompat/TargetAttrTestCase.java
@@ -412,10 +412,7 @@
{
EnumTargetOperator op = EnumTargetOperator.createOperator(eqOperator);
TargetAttr targetAttr = TargetAttr.decode(op, targetAttrString);
- AttributeType attrType = DirectoryServer.getAttributeType(attribute);
- if (attrType == null) {
- attrType = DirectoryServer.getDefaultAttributeType(attribute);
- }
+ AttributeType attrType = DirectoryServer.getAttributeType(attribute, true);
assertEquals(TargetAttr.isApplicable(attrType, targetAttr), expectedResult);
}
}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java
index 29243c4..5893bdf 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java
@@ -1067,21 +1067,8 @@
getRootConnection().processModify(dn, mods);
}
- /**
- * Return the attribute type corresponding to the attribute type string.
- *
- * @param attrTypeString The attribute type string name.
- *
- * @return An attribute type object pertaining to the string.
- *
- */
private AttributeType getAttrType(String attrTypeString) {
- AttributeType attrType = DirectoryServer.getAttributeType(attrTypeString);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrTypeString);
- }
- return attrType;
+ return DirectoryServer.getAttributeType(attrTypeString, true);
}
private void deleteEntries(String... dns) throws Exception{
@@ -1092,8 +1079,6 @@
}
}
-
-
private void deleteSubtree(String... dns) throws Exception
{
Control control = new SubtreeDeleteControl(true);
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/plugins/UniqueAttributePluginTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/plugins/UniqueAttributePluginTestCase.java
index 9fb3100..39b059f 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/plugins/UniqueAttributePluginTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/plugins/UniqueAttributePluginTestCase.java
@@ -815,21 +815,8 @@
Attributes.create(attrName, attrValues)));
}
- /**
- * Return the attribute type corresponding to the attribute type string.
- *
- * @param attrTypeString The attribute type string name.
- *
- * @return An attribute type object pertaining to the string.
- */
private AttributeType getAttrType(String attrTypeString) {
- AttributeType attrType =
- DirectoryServer.getAttributeType(attrTypeString);
- if (attrType == null)
- {
- attrType = DirectoryServer.getDefaultAttributeType(attrTypeString);
- }
- return attrType;
+ return DirectoryServer.getAttributeType(attrTypeString, true);
}
/**
--
Gitblit v1.10.0