mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noël Rouvignac
11.47.2016 735d2983e4e881054bc4a7deda2ee92c7708eaaa
OPENDJ-2987 Default ObjectClassType is STRUCTURAL
1 files modified
15 ■■■■ changed files
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java 15 ●●●● patch | view | raw | blame | history
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
@@ -1340,14 +1340,15 @@
                addObjectClass(newExtensibleObjectObjectClass(
                    ocBuilder.getDescription(), ocBuilder.getExtraProperties(), this), overwrite);
                return this;
            } else {
                if (ocType == STRUCTURAL && superiorClasses.isEmpty()) {
                    superiorClasses = singleton(TOP_OBJECTCLASS_NAME);
                }
                ocBuilder.superiorObjectClasses(superiorClasses)
                         .type(ocType);
                return ocBuilder.addToSchema(overwrite);
            }
            ocType = ocType != null ? ocType : STRUCTURAL;
            if (ocType == STRUCTURAL && superiorClasses.isEmpty()) {
                superiorClasses = singleton(TOP_OBJECTCLASS_NAME);
            }
            ocBuilder.superiorObjectClasses(superiorClasses)
                     .type(ocType);
            return ocBuilder.addToSchema(overwrite);
        } catch (final DecodeException e) {
            throw new LocalizedIllegalArgumentException(
                ERR_ATTR_SYNTAX_OBJECTCLASS_INVALID1.get(definition, e.getMessageObject()), e.getCause());