}
public ObjectClassStructure getStructure(NumericOid oid) throws LdapException {
String className = null;
try {
ObjectClassStructureBuilder builder = new ObjectClassStructureBuilder();
builder.setOid(oid);
Attributes attrs = getSchemaDefinition(oid);
className = lookupName(attrs, oid);
if (knownStructures.containsKey(oid)) {
return knownStructures.get(oid);
}
builder.setName(className);
ServerDebugLog.LOG.fine("Creating structure for the class " + className);
ServerDebugLog.LOG.finer("Found the following attributes: " + attrs);
populateStructure(attrs, builder);
ObjectClassStructure struct = builder.getStructure();
knownStructures.put(oid, struct);
return struct;
} catch (NamingException ex) {
String msg = "Failed to lookup class definitions.";
if (className != null) {