Examples of SchemaObject

  • org.apache.directory.shared.ldap.model.schema.SchemaObject
    Most schema objects have some common attributes. This class contains the minimum set of properties exposed by a SchemaObject.
    We have 11 types of SchemaObjects :
  • AttributeType
  • DitCOntentRule
  • DitStructureRule
  • LdapComparator (specific to ADS)
  • LdapSyntaxe
  • MatchingRule
  • MatchingRuleUse
  • NameForm
  • Normalizer (specific to ADS)
  • ObjectClass
  • SyntaxChecker (specific to ADS)

    This class provides accessors and setters for the following attributes, which are common to all those SchemaObjects :
  • oid : The numeric OID
  • description : The SchemaObject description
  • obsolete : Tells if the schema object is obsolete
  • extensions : The extensions, a key/Values map
  • schemaObjectType : The SchemaObject type (see upper)
  • schema : The schema the SchemaObject is associated with (it's an extension). Can be null
  • isEnabled : The SchemaObject status (it's related to the schema status)
  • isReadOnly : Tells if the SchemaObject can be modified or not

    Some of those attributes are not used by some Schema elements, even if they should have been used. Here is the list : name : LdapSyntax, Comparator, Normalizer, SyntaxChecker numericOid : DitStructureRule, obsolete : LdapSyntax, Comparator, Normalizer, SyntaxChecker @author Apache Directory Project
  • org.apache.directory.shared.ldap.schema.SchemaObject
  • org.h2.schema.SchemaObject
    Any database object that is stored in a schema.
  • org.hsqldb.SchemaObject
    SQL schema object interface @author Fred Toussi (fredt@users dot sourceforge.net) @version 1.9.0 @since 1.9.0
  • org.hsqldb_voltpatches.SchemaObject
    SQL schema object interface @author Fred Toussi (fredt@users dot sourceforge.net) @version 1.9.0 @since 1.9.0
  • org.lealone.dbobject.SchemaObject
    Any database object that is stored in a schema.

  • Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

            {
                Set<SchemaObjectWrapper> objects = new HashSet<SchemaObjectWrapper>();

                for ( SchemaObjectWrapper schemaObjectWrapper : schemaObjects.get( schemaName ) )
                {
                    SchemaObject original = schemaObjectWrapper.get();

                    try
                    {
                        if ( !( original instanceof LoadableSchemaObject ) )
                        {
                            SchemaObject copy = clone.globalOidRegistry.getSchemaObject( original.getOid() );
                            SchemaObjectWrapper newWrapper = new SchemaObjectWrapper( copy );
                            objects.add( newWrapper );
                        }
                        else
                        {
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

        }


        private SchemaObject copy( SchemaObject schemaObject )
        {
            SchemaObject copy = null;

            if ( !( schemaObject instanceof LoadableSchemaObject ) )
            {
                copy = schemaObject.copy();
            }
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

        {
            // First, clear the errors
            errors.clear();

            // Clone the schemaObject
            SchemaObject copy = copy( schemaObject );

            if ( copy == null )
            {
                return false;
            }

            if ( registries.isRelaxed() )
            {
                // Apply the addition right away
                registries.add( errors, copy, true );

                return errors.isEmpty();
            }
            else
            {
                // Clone, apply, check, then apply again if ok
                // The new schemaObject's OID must not already exist
                if ( checkOidExist( copy ) )
                {
                    LdapSchemaException ldapSchemaException = new LdapSchemaException(
                        LdapSchemaExceptionCodes.OID_ALREADY_REGISTERED, I18n.err( I18n.ERR_11008, schemaObject.getOid() ) );
                    ldapSchemaException.setSourceObject( schemaObject );
                    errors.add( ldapSchemaException );

                    return false;
                }

                // Build the new AttributeType from the given entry
                String schemaName = getSchemaName( copy );

                if ( schemaName == null )
                {
                    // The schema associated with the SchemaaObject does not exist. This is not valid.

                    LdapSchemaException ldapSchemaException = new LdapSchemaException(
                        LdapSchemaExceptionCodes.NONEXISTENT_SCHEMA, I18n.err( I18n.ERR_11009, schemaObject.getOid(),
                            copy.getSchemaName() ) );
                    ldapSchemaException.setSourceObject( schemaObject );
                    ldapSchemaException.setRelatedId( copy.getSchemaName() );
                    errors.add( ldapSchemaException );

                    return false;
                }

                // At this point, the constructed AttributeType has not been checked against the
                // existing Registries. It may be broken (missing SUP, or such), it will be checked
                // there, if the schema and the AttributeType are both enabled.
                Schema schema = getLoadedSchema( schemaName );

                if ( schema == null )
                {
                    // The SchemaObject must be associated with an existing schema
                    String msg = I18n.err( I18n.ERR_11010, copy.getOid() );
                    LOG.info( msg );
                    Throwable error = new LdapProtocolErrorException( msg );
                    errors.add( error );
                    return false;
                }

                if ( schema.isEnabled() && copy.isEnabled() )
                {
                    // As we may break the registries, work on a cloned registries
                    Registries clonedRegistries = null;

                    try
                    {
                        clonedRegistries = registries.clone();
                    }
                    catch ( CloneNotSupportedException cnse )
                    {
                        throw new LdapOtherException( cnse.getMessage() );
                    }

                    // Inject the new SchemaObject in the cloned registries
                    clonedRegistries.add( errors, copy, true );

                    // Remove the cloned registries
                    clonedRegistries.clear();

                    // If we didn't get any error, apply the addition to the real retistries
                    if ( errors.isEmpty() )
                    {
                        // Copy again as the clonedRegistries clear has removed the previous copy
                        copy = copy( schemaObject );

                        // Apply the addition to the real registries
                        registries.add( errors, copy, true );

                        LOG.debug( "Added {} into the enabled schema {}", copy.getName(), schemaName );

                        return true;
                    }
                    else
                    {
                        // We have some error : reject the addition and get out
                        String msg = "Cannot add the SchemaObject " + copy.getOid() + " into the registries, "
                            + "the resulting registries would be inconsistent :" + Strings.listToString( errors );
                        LOG.info( msg );

                        return false;
                    }
                }
                else
                {
                    // At least, we register the OID in the globalOidRegistry, and associates it with the
                    // schema
                    registries.associateWithSchema( errors, copy );

                    LOG.debug( "Added {} into the disabled schema {}", copy.getName(), schemaName );
                    return errors.isEmpty();
                }
            }
        }
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

                    errors.add( error );
                    return false;
                }

                // Get the SchemaObject to delete if it's not a LoadableSchemaObject
                SchemaObject toDelete = getSchemaObject( schemaObject );

                // First check that this SchemaObject does not have any referencing SchemaObjects
                Set<SchemaObjectWrapper> referencing = registries.getReferencing( toDelete );

                if ( ( referencing != null ) && !referencing.isEmpty() )
                {
                    String msg = I18n.err( I18n.ERR_11012, schemaObject.getOid(), Strings.setToString( referencing ) );

                    Throwable error = new LdapProtocolErrorException( msg );
                    errors.add( error );
                    return false;
                }

                String schemaName = getSchemaName( toDelete );

                // At this point, the deleted AttributeType may be referenced, it will be checked
                // there, if the schema and the AttributeType are both enabled.
                Schema schema = getLoadedSchema( schemaName );

                if ( schema == null )
                {
                    // The SchemaObject must be associated with an existing schema
                    String msg = I18n.err( I18n.ERR_11013, schemaObject.getOid() );
                    LOG.info( msg );
                    Throwable error = new LdapProtocolErrorException( msg );
                    errors.add( error );
                    return false;
                }

                if ( schema.isEnabled() && schemaObject.isEnabled() )
                {
                    // As we may break the registries, work on a cloned registries
                    Registries clonedRegistries = null;

                    try
                    {
                        clonedRegistries = registries.clone();
                    }
                    catch ( CloneNotSupportedException cnse )
                    {
                        throw new LdapOtherException( cnse.getMessage() );
                    }

                    // Delete the SchemaObject from the cloned registries
                    clonedRegistries.delete( errors, toDelete );

                    // Remove the cloned registries
                    clonedRegistries.clear();

                    // If we didn't get any error, apply the deletion to the real retistries
                    if ( errors.isEmpty() )
                    {
                        // Apply the deletion to the real registries
                        registries.delete( errors, toDelete );

                        LOG.debug( "Removed {} from the enabled schema {}", toDelete.getName(), schemaName );

                        return true;
                    }
                    else
                    {
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

                String msg = I18n.err( I18n.ERR_04267 );
                LOG.warn( msg );
                throw new LdapException( msg );
            }

            SchemaObject schemaObject = byName.get( oid );

            if ( schemaObject != null )
            {
                return schemaObject.getSchemaName();
            }

            String msg = I18n.err( I18n.ERR_04268_OID_NOT_FOUND, oid );
            LOG.warn( msg );
            throw new LdapException( msg );
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

            for ( T schemaObject : this )
            {
                if ( schemaName.equalsIgnoreCase( schemaObject.getSchemaName() ) )
                {
                    String oid = schemaObject.getOid();
                    SchemaObject removed = unregister( oid );

                    if ( DEBUG )
                    {
                        LOG.debug( "Removed {} with oid {} from the registry", removed, oid );
                    }
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

            // Relax the registries
            boolean wasRelaxed = isRelaxed;
            setRelaxed();

            // Remove the SchemaObject from the registries
            SchemaObject removed = unregister( errors, schemaObject );

            // Remove the SchemaObject from its schema
            dissociateFromSchema( errors, removed );

            // Unlink the SchemaObject references
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

                    LOG.error( msg );
                    throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, msg );
                }
            }

            SchemaObject unregistered = null;

            // First call the specific registry's register method
            switch ( schemaObject.getObjectType() )
            {
                case ATTRIBUTE_TYPE:
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

            {
                Set<SchemaObjectWrapper> objects = new HashSet<SchemaObjectWrapper>();

                for ( SchemaObjectWrapper schemaObjectWrapper : schemaObjects.get( schemaName ) )
                {
                    SchemaObject original = schemaObjectWrapper.get();

                    try
                    {
                        if ( !( original instanceof LoadableSchemaObject ) )
                        {
                            SchemaObject copy = clone.globalOidRegistry.getSchemaObject( original.getOid() );
                            SchemaObjectWrapper newWrapper = new SchemaObjectWrapper( copy );
                            objects.add( newWrapper );
                        }
                        else
                        {
    View Full Code Here

    Examples of org.apache.directory.shared.ldap.model.schema.SchemaObject

                        sb.append( ", " );
                    }

                    sb.append( "<" );

                    SchemaObject schemaObject = byOid.get( oid );

                    if ( schemaObject != null )
                    {
                        sb.append( schemaObject.getObjectType() );
                        sb.append( ", " );
                        sb.append( schemaObject.getOid() );
                        sb.append( ", " );
                        sb.append( schemaObject.getName() );
                    }

                    sb.append( ">" );
                }
            }
    View Full Code Here
    TOP
    Copyright © 2018 www.massapi.com. All rights reserved.
    All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.